在python中是一个被归类为整数的数学运算符。 例如,为什么这个代码不能工作
import random
score = 0
randomnumberforq = (random.randint(1,10))
randomoperator = (random.randint(0,2))
operator = ['*','+','-']
answer = (randomnumberforq ,operator[randomoperator], randomnumberforq)
useranswer = input(int(randomnumberforq)+int(operator[randomoperator])+ int(randomnumberforq))
if answer == useranswer:
print('correct')
else:
print('wrong')
那要看你想做什么。您没有给我们提供示例输入或输出,没有注释,也没有错误消息。在
看起来你在写一个简单的算术练习引擎。如果是这样,那么你的基本问题是你不理解编程中允许的操作。你不能只是把符号排成一行,然后指望计算机找出它应该如何组合它们。你对answer和useranswer的赋值语句在结构上有缺陷。第一个提供了一个字符串列表;第二个失败是因为您试图将符号(如*)转换为整数。在
对于更高级的用户,我建议使用“evaluate”操作。但对你来说。。。 当你选择随机运算符时,你需要检查你得到的是哪一个。写一个三分支的“如果”来处理这三种可能性。下面是第一个的头像:
请注意,操作中的两个数字是相同的。如果你想要不同的号码,你必须给兰丁打两次电话。在
这能让你动起来吗。。。在一个你觉得舒服的编码级别?在
不能只将一个运算符连接到几个数字上,然后期望对其求值。您可以使用
eval
来计算最后一个字符串。在更好的方法是使用
^{pr2}$operator
模块中的函数。通过将函数分配给列表,您可以选择随机调用哪个函数:尝试将字符串转换为整数,但整数不是数字:
数组“operator”中的运算符是字符串,它不表示数字,也不能转换为整数值。另一方面,input()函数需要字符串作为参数值。所以写下:
^{pr2}$+运算符可用于合并字符串。但是Python要求两边的操作数都是字符串。这就是为什么我添加了str()函数来将数字值转换为字符串。在
相关问题 更多 >
编程相关推荐