检查两个变量是否相等

时间:2018-06-25 02:42:22

标签: python input

在我的代码中,我正在做一个基本的乘法游戏。

但是在我的游戏中,

当您正确回答时,表示您错了

这是我的完整代码:

import random

score = 0
while True:
    num1 = random.choice(range(1,12))
    num2 = random.choice(range(1,12))
    answer = num1 * num2
    a = input("Solve for " + str(num1) + "x" + str(num2))
    if a == answer:
        print("congrats you got it right")
        score += 1
    else:
        print("Wrong sorry play again")
        print("Score was: " + str(score))
        break

得到正确答案后,就会得到

Solve for 7x10 70
Wrong sorry play again
Score was: 0

3 个答案:

答案 0 :(得分:4)

其他语言可能会让您无法理解,但是Python是强类型的。输入函数获取字符串,而不是数字。数字不能等于字符串。在比较它们之前,要么将数字转换为字符串,要么将字符串转换为数字。您可以使用strint进行转换。

答案 1 :(得分:1)

函数input返回键入为 string ...的内容,以便与答案进行比较,您需要将其转换为int

if int(a) == answer:

或相反(将答案转换为str):

if a == str(answer):

如果a无法解析为int,则第一个可能引发异常。 Here the docs

PS:我真的很想知道您的随机库是如何选择0到11的1070个采样...

答案 2 :(得分:1)

或使用int(input())

import random

score = 0
while True:
    num1 = random.choice(range(1,12))
    num2 = random.choice(range(1,12))
    answer = num1 * num2
    a = int(input("Solve for " + str(num1) + "x" + str(num2)))
    if a == answer:
        print("congrats you got it right")
        score += 1
    else:
        print("Wrong sorry play again")
        print("Score was: " + str(score))
        break