“+ 不支持的操作数类型:'int' 和 'str'”

问题描述 投票:0回答:1

我已经尝试找到这个问题的解决方案有一段时间了,但我没有找到解决我的问题的单一方法,如果有人在这里帮助我那就太好了。

所以基本上我想创建一个随机数学问题,然后将用户输入与数学问题的解决方案进行比较。问题出在“solution”变量上,我总是收到错误“TypeError: unsupported operand type(s) for +: 'int' and 'str'”并且我不知道如何修复它。

import random
import pandas as pd

operator_list = [
    "*",
    "/",
    "+",
    "-"
]

number1 = random.randint(1,100)
number2 = random.randint(1,100)
number3 = random.randint(1,100)
operator1 = random.choice(operator_list)
operator2 = random.choice(operator_list)

def ask():
    print("Was ist die Loesung fuer -> ", number1, operator1, number2, operator2, number3, "? \n")
    x = int(input("Deine Antwort > "))
    solution = pd.eval(number1 + operator1 + number2 + operator2 + number3)
    if x == solution:
        print("OK")

ask()
python math random integer operands
1个回答
0
投票

在连接之前将数字转换为字符串,例如

str(number1) + operator1 + str(number2) + operator2 + str(number3)
或 pd.eval(
f"{number1}{operator1}{number2}{operator2}{number3}"
)

© www.soinside.com 2019 - 2024. All rights reserved.