1

ここに私のスクリプトがあります:

from random import *
from turtle import *

while True: 
    r1 = randint(1,20)
    r2 = randint(1,20)

    # ... ask the question ... then

    a = textinput("Answer?", "")

    if a == r1 * r2:
        write("Well done", font = ("Comic Sans MS", 30, "bold"))
    else:
        write("WRONG", font = ("Comic Sans MS", 30, "bold"))

ゲームはとてもシンプルです。あまりにも乱数を選択し、それらを乗算するように求めます。正解するとスコアが上がります。答えを間違えるとスコアが下がります。正しい答えを入力しても、まだ「間違っています」と表示されます。おそらく、ifs を別の方法で行っているか、乱数のために機能していない可能性があります。私のスクリプトの何が問題なのか、誰かがわかりましたか。ありがとう :)

4

1 に答える 1

9

r1 * r2は整数です。

a文字列です。

整数に変換aして比較します。

整数への変換は簡単です。

s = int(a)

ただし、aValueErrorを上げることができ、処理する必要があります。

于 2012-06-20T13:52:25.010 に答える