2016-11-24 197 views
-1

我想在每次用戶獲得答案時都添加1得分,您可以看到我從文件中獲得問題和答案,並且該文件設置爲首先提出問題,然後是可能的答案,然後是正確的答案。爲什麼這個python代碼不工作?

例如:什麼是2 * 2,4,2,8,6,一個

那會是什麼,我讀的文件?每次運行它時,所有循環和列表以及內容都可以正常運行,但每當它是正確的答案時,它不會將分數加1。任何人都看到這部分代碼有問題?

inputtedAnswer = input("Choice (a-d): ") 

if inputtedAnswer == rightAnswer[0]: 
    score += 1 
else: 
    score = score 
+0

rightAnswer [0]就是我存儲在列表形式的信息的正確答案,但當我將它與一個字符串進行比較時,它不會重新計算.. –

+0

您是否收到錯誤?你確定正確答案和輸入答案是你期望他們是什麼?我的猜測是你需要將rightAnswer [0]作爲一個字符串('str(rightAnswer [0])')或者某個東西沒有你認爲它的值。 –

+2

用'''print(inputsAnswer,rightAnswer [0])''檢查這些值。他們是平等的嗎?他們是同一類型嗎?他們是你所期望的他們是什麼? – wwii

回答

0

沒有看到您正確的答案列表,很難知道問題是什麼。我創建了一個名爲rightAnswer的列表,並將0索引設置爲1作爲整數。然後我使用你的代碼來檢查用戶輸入的內容。唯一的區別是我將輸入轉換爲整數,因爲rightAnswer [0]是一個整數。請注意,將輸入轉換爲整數不是一個好主意,因爲如果用戶鍵入字符串,程序將會崩潰。之後,你的程序運行良好。

rightAnswer = [1] 
score = 0 

inputtedAnswer = int(input("Type in 1")) 

if inputtedAnswer == rightAnswer[0]: 
    score += 1 
    print ("Score: " + score) 
else: 
    score = score 

我認爲這是你想要什麼,但它是很難知道不知道你rightAnswer列表的內容

+0

謝謝!完全忘了整數與字符串..即時通訊新的python,感謝您的幫助! –

+0

沒問題,很高興幫助 –