python - 如何让用户在 Python 3 中输入数字?

标签 python python-3.x

我正在尝试使用 Python 3 进行测验。测验随机生成两个单独的数字和运算符。但是当我试图让用户输入他们的答案时,这会出现在 shell 中:

<class 'int'> 

我不确定我需要做什么。即使我输入了正确的答案,它总是返回错误的答案。

import random

import operator

operation=[

    (operator.add, "+"),
    (operator.mul, "*"),
    (operator.sub, "-")
    ]
num_of_q=10
score=0

name=input("What is your name? ")
class_name=input("Which class are you in? ")
print(name,", welcome to this maths test!")


for _ in range(num_of_q):

    num1=random.randint(0,10)

    num2=random.randint(1,10)

    op,symbol=random.choice(operation)

    print("What is",num1,symbol,num2,"?")

    if input(int)==(num1,op,num2):

          print("Correct")
          score += 1
    else:
          print("Incorrect")

if num_of_q==10:

        print(name,"you got",score,"/",num_of_q)

最佳答案

此行不正确:

if input(int)==(num1,op,num2):

您必须将输入转换为 int 并将 op 应用于 num1num2:

if int(input()) == op(num1, num2):

关于python - 如何让用户在 Python 3 中输入数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679575/

相关文章:

python-3.x - urlopen 错误 [Errno 11001] getaddrinfo 失败?

python - sleep 时忽略Python中的键盘输入

python - 使用 pygame 中的类创建矩形?

python - python 中是否有一个用于评估类的神奇方法?

python - 使用 python 3 中的 matplotlib 在堆叠条形图中堆叠多列

Python psycopg2 postgres 选择包含字段名称的列

python - 将输入整数与列表进行比较

python - 为什么我得到 : invalid syntax error on python3

python - 基于列索引的 Sort_values

json - 如何将 json 读取到 pandas MultiIndex Dataframe?