Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查两个变量是否相等_Python_Input - Fatal编程技术网

Python 检查两个变量是否相等

Python 检查两个变量是否相等,python,input,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

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

但在我的游戏中

当你得到正确的答案时,它说你错了

这是我的全部代码:

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

其他语言可能会让您不受影响,但Python是强类型的。输入函数获取字符串,而不是数字。数字不能等于字符串。在比较之前,请将数字转换为字符串或将字符串转换为数字。您可以使用
str
int
进行转换。

其他语言可能允许您进行转换,但Python是强类型的。输入函数获取字符串,而不是数字。数字不能等于字符串。在比较之前,请将数字转换为字符串或将字符串转换为数字。您可以使用
str
int
进行转换。

函数
input
返回键入的字符串。。。为了将其与答案进行比较,您需要将其转换为
int

if int(a) == answer:
或者反过来(将答案转换为
str
):

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


PS:我真的很想知道你的随机库是如何从0到11之间选取1070个样本的…

函数
输入
返回键入的字符串的内容的。。。为了将其与答案进行比较,您需要将其转换为
int

if int(a) == answer:
或者反过来(将答案转换为
str
):

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

PS:我真的很想知道你的随机库是如何从0到11中选取1070个样本的…

或者使用
int(input())

或者使用
int(输入())


当我把它改成int时,我得到a=input(“求解”+int(num1)+“x”+int(num2))类型错误:必须是str,不是intI我已经修复了它,我把它改成str(a)==str(答案):当我把它改成int时,我得到a=input(“求解”+int(num1)+“x”+int(num2))类型错误:必须是str,不是intI已经修复了它,我把它改成str(a)==str(答案):我还想知道,但情况是7,10是随机选取的整数,70是提供给程序的输入,没有空格,看起来数字是1070哦,我明白了!您可以将
+“=”
添加到输入中;)我还想知道,但情况是7,10是随机选取的整数,70是提供给程序的输入,没有空间,看起来像是1070哦,我明白了!您可以将
+“=”
添加到输入中;)
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