我已经尝试找到这个问题的解决方案有一段时间了,但我没有找到解决我的问题的单一方法,如果有人在这里帮助我那就太好了。
所以基本上我想创建一个随机数学问题,然后将用户输入与数学问题的解决方案进行比较。问题出在“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()
在连接之前将数字转换为字符串,例如
str(number1) + operator1 + str(number2) + operator2 + str(number3)
或
pd.eval(f"{number1}{operator1}{number2}{operator2}{number3}"
)