2016-11-24 20 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とenteredAnswerがあなたの期待するものだと確信していますか?私の推測では、あなたは文字列( 'str(rightAnswer [0])')としてrightAnswer [0]をキャストするか、何かが持っていると思う値を持たないことが必要です。 –

+2

'' 'print(enteredAnswer、rightAnswer [0])' ''で値を検査してください。彼らは等しいのですか?彼らは同じタイプですか?彼らはあなたがそうすることを期待していましたか? – wwii

答えて

0

あなたのrightAnswerリストが表示されていないと、問題の内容を知ることは難しいです。私は、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

ありがとう!完全にint対stringを忘れてしまった。私はPythonに新しい、助けてくれてありがとう! –

+0

問題はありません、喜んで助けてください –

関連する問題