2017-08-04 55 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") 

我比較兩個整數,爲什麼我的IF語句不工作,當我 比較兩個數字。我已經轉換了兩個變量爲整數,它仍然沒有成功比較爲什麼我的IF語句不適用於python?

+2

'str(useranswercircle)'不會*將'useranswercircle'轉換爲字符串:它會產生一個等價的字符串。所以你應該寫'useranswercircle = str(useranswercircle)'。 –

+2

'int(useranswercircle)' - same^ –

+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

這個技巧是將'useranswercircle'轉換爲int,所以它可以與'circleanswer2' – rakwaht

+0

比較起作用,感謝您的幫助! –

+0

rev是什麼意思? – rakwaht

0

您需要縮進打印:

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

嘗試這樣 -

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

,並刪除這兩個語句 -

str(useranswercircle) 
str(circleanswer2) 
相關問題