import random
import operator
op = {"+":operator.add,
"-":operator.sub,
"*":operator.mul}
num1 = random.randint(0,10)
num2 = random.randint(0,10)
ops = random.choice(list(op.keys()))
print (num1 + int(ops) + num2)
我试图做一个随机数学题测验,我不明白为什么我不断收到错误:ValueError异常:无效的字面INT()基数为10如何修复错误
Traceback (most recent call last):
File "N:/Computer science/A453/Test.py", line 12, in <module>
print (num1 + int(ops) + num2)
ValueError: invalid literal for int() with base 10: '-'
>>> ================================
你为什么试图将随机选择从“+”,“ - ”和“*”转换为整数?你究竟发现了什么?会发生什么?! – jonrsharpe 2015-02-10 12:12:52
怎么可能像一个字符串如'“+”'永远被转换为一个整数? – 2015-02-10 12:13:49
@JoachimPileborg只有2.x,3.x你需要例如'list(op)'而不是'op.keys()',因为你不能索引一个'dict_keys'对象。 – jonrsharpe 2015-02-10 12:14:19