Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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_List_Random_Operators - Fatal编程技术网

Python 如何使用列表存储可以在函数中使用的运算符?

Python 如何使用列表存储可以在函数中使用的运算符?,python,list,random,operators,Python,List,Random,Operators,我是python新手,非常感谢您的帮助 如果我在手动输入值的地方编写eval语句,它就可以正常工作 x = input("Enter a number: ") y = input("Enter another number: ") o = input("Enter calculation symbols for calculation you want to perform: ") result = eval(x + o + y) p

我是python新手,非常感谢您的帮助

如果我在手动输入值的地方编写eval语句,它就可以正常工作

x = input("Enter a number: ")
y = input("Enter another number: ")
o = input("Enter calculation symbols for calculation you want to perform: ")

result = eval(x + o + y)
print("result is: %s" %result)
但是当我试图编写eval语句从列表中提取变量时,我得到了一个“不支持的+操作数类型:'int'和'str'”错误 随机输入

x = [1, 2, 3, 4, 5, 6, 7, 8, 9];
y = [1, 2, 3, 4, 5, 6, 7, 8, 9];
o = ['+', '-', '*', '/'];

rx = random.choice(x)
ry = random.choice(y)
ro = random.choice(o)

result = eval(rx + ro + ry)
print("The result is: %s" %result)
我已经尝试过更改变量类型,但至少在我看来,问题在于运算符变量类型,我不知道如何更正


谢谢你的帮助

rx
是一个数字,
ro
是一个字符串。连接字符串和数字将导致此错误。您首先不应该使用
eval
,请参阅上面的链接副本。这是一个相当仓促的关闭。代码中的实际问题是
x
y
数组包含整数类型,而
o
包含字符串类型。你可以做
eval((str(rx)+ro+str(ry))
这很有效。谢谢你的帮助。