ValueError: invalid literal for int() with base 10 How to fix error

ValueError: invalid literal for int() with base 10 How to fix error

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)

我正在尝试进行随机数学问题测验,但我无法弄清楚为什么我总是收到错误消息:

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: '-'
>>> ================================ 

尝试在 num1 和 num2 上强制使用字符串。由于您正在使用 + 进行打印,因此您应该使用字符串进行操作。

print (str(num1) + ops + str(num2))