2017-08-04 11 views
0
import random 
circlediameter = random.randint(1,99) 
pi = 3.142 
print("The circle diameter is",circlediameter," Find the area") 

#find 4 possible answers 
circleanswer1 = circlediameter/pi 
circleanswer2 = circlediameter*pi 
circleanswer3 = circlediameter+pi 
circleanswer4 = circlediameter 

#makes sure all numbers are integers 
circleanswer1 = int(circleanswer1) 
circleanswer2 = int(circleanswer2) 
circleanswer3 = int(circleanswer3) 
circleanswer4 = int(circleanswer4) 

answerlist = [circleanswer1 , circleanswer2 , circleanswer3 , circleanswer4] 

#shuffles the list 
random.shuffle(answerlist) 




#answer 2 is always the right answer 
print("Four options are: ", answerlist) 


#user enters a number 
useranswercircle = input("Please choose an answer: ") 
int(useranswercircle) 


str(useranswercircle) 
str(circleanswer2) 

if useranswercircle == circleanswer2: 
print("EEE") 

2つの整数を比較していますが、 が2つの数値を比較するとIF IF文が機能しないのはなぜですか?私は整数に2つの変数を変換している、そしてまだ成功しIF文がPythonで動作しないのはなぜですか?

+2

'str(useranswercircle)'は 'useranswercircle'を文字列に変換せず、同等の文字列を生成します。ですから、 'useranswercircle = str(useranswercircle)'と書くべきです。 –

+2

'int(useranswercircle)' - 同じ^ –

+2

最後の行をインデントする必要があります – narn

答えて

0

このキャストで試してみてください比較されていません。

import random 
circlediameter = random.randint(1,99) 
pi = 3.142 
print("The circle diameter is",circlediameter," Find the area") 

#find 4 possible answers 
circleanswer1 = circlediameter/pi 
circleanswer2 = circlediameter*pi 
circleanswer3 = circlediameter+pi 
circleanswer4 = circlediameter 

#makes sure all numbers are integers 
circleanswer1 = int(circleanswer1) 
circleanswer2 = int(circleanswer2) 
circleanswer3 = int(circleanswer3) 
circleanswer4 = int(circleanswer4) 

answerlist = [circleanswer1 , circleanswer2 , circleanswer3 , circleanswer4] 

#shuffles the list 
random.shuffle(answerlist) 


#answer 2 is always the right answer 
print("Four options are: ", answerlist) 


#user enters a number 
useranswercircle = input("Please choose an answer: ") 

# EDIT: 
# HERE IS THE TRICK 
useranswercircle = int(useranswercircle) 

if useranswercircle == circleanswer2: 
    print("EEE") 
+0

トリックはintへの 'useranswercircle'をキャストして' circleanswer2'と比較することができます – rakwaht

+0

助けてくれてありがとう!!! –

+0

レヴェルとはどういう意味ですか? – rakwaht

0

あなたは印刷をインデントする必要があります。

if useranswercircle == circleanswer2: 
    print("EEE") 
0

は次のように試してみてください -

if str(useranswercircle) == str(circleanswer2): 
    print("EEE") 

そして、これら二つの文を削除 -

str(useranswercircle) 
str(circleanswer2) 
関連する問題