2017-09-17 7 views
1

私はプログラミングに関連するすべてのものが新しく、ちょうどPythonコースの紹介を終え、いくつかのプロジェクトを開始しようとしていました。 私は理解できない何かにぶつかっています。私の初心者のプロジェクトでエラーが発生しました

lives=3 
while lives>0: 

    low=raw_input("what is the lower range that you will guess? Numbers only please.") 
    high=raw_input("what is the higher range that you will guess? Numbers only please") 
    thenumber=randint(int(low),int(high)) 
    if int(raw_input("pick an integer between %s and %s") %(low, high))==thenumber: 
     print "you won!" 

「1」の両方の変数を設定した後、それは「%sから%sの間の整数を選択する」ではなく「1及び1の間の整数を選ぶ」印刷します。

編集:推測の番号を提出した後、私も

TypeError: not all arguments converted during string formatting 
+0

、グーグルでみてくださいあなたが受け取ったエラー:https://www.google.it/search?client=safari&rls=en&q=TypeError:+not+all+arguments+converted+during+string+formatting&ie=UTF-8&oe=UTF-8&gfe_rd=cr& dcr = 0&ei = APa9Wc6ADq_CXuzysZgC –

答えて

5

は括弧をチェックします:

raw_input("pick an integer between %s and %s") %(low, high) #bad 

raw_input("pick an integer between %s and %s" % (low, high)) #good 
+1

「#bad」と「#good」コメントが気に入っています。 xD – Jerrybibo

+1

この最初のコメントは違いがあると思います... – kip

+1

初めだけでなく、あなたの将来の自己は、そのスクリプトを正しくコメントしていないためにリアであなたを蹴ってくれます:) –

2

あなた%s置換はraw_inputを包む括弧の外側にあります。彼らはすぐに文字列に従うべきです(kipの答えのように)。

.format構文を使用してください。私の意見では分かりやすい。

この:

"pick an integer between {} and {}".format(low, high) 

あなたはまたRubyのスタイルを行うことができます(Pythonで3.5+):

"pick an integer between %s and %s" % (low, high) 

は次のように記述することができます一般的に

f"pick an integer between {low} and {high}" 
関連する問題