2017-06-25 8 views
-2
import random 
user_name=("enter your name:") 
print("Note: The number lies between 1 to 100") 
random_nuber = random.randrange(1, 100, 1) 
user_number = input("enter your guess") 
dif= user_number - random_nuber 

while dif != 0: 
if dif > 0: 
    print("high") 
if dif < 0: 
    print("low") 
user_number = input("enter your guess now :") 

私は初心者であり、私はループの間、またはループのために使用するたびに、私は同じ種類のエラーを受け取ります。誰かが私のコードで間違いを特定するのを助けることができます

the error I get each time I run this code

+0

トレースバックは*テキスト*ですので、コピーして質問に貼り付けてください。次に索引付け(検索可能にする)、視覚障害者が(スクリーンリーダーがテキストを読むことができるように)助けてファイル名をコピー&ペーストすることができます。 –

+0

エラーはすでに説明しています。入力から、文字列user_numberを取得し、random_numberはintです。他のものから1つを減算するには、その文字列をintに変換する必要があります – danielspaniol

答えて

-1

input("enter your guess")文字列を返しているので、彼らはさまざまな種類あるようuser_number - random_nuberは動作しません - 数と文字列。

編集:Python2に慣れている人は、通常、文字列を評価しようとします。つまり、数値を入力すると自動的に数字に変換されます。 Python3では(質問ごとに)、常に文字列であるため、変換する必要があります。あなたが運転中にそれを必要とするときuser_number = int(input("enter your guess"))、またはそれを変更することにより、::dif= int(user_number) - random_nuber

を(個人的に、私は」

は、あなたがそれを作る際に、いずれかの整数に、それを変更することにより、文字列に数値を変換する必要がありますdは最初のオプションをお勧めします)

+0

ありがとう!私はdif = float(user_number)-random_numberを定義しました – Aierel

+0

それは働いて、difはループに入ります – Aierel

-2

whileループ内の違いを再計算する必要があります。 whileループでdif= user_number - random_nuberを繰り返すだけです。

関連する問題