这个答案为什么会错啊?判断计算结果跟输入结果是否一致,但为什么答案都是错误的?

不管输什么答案都显示错,格式问题吗?怎么改,各位。大一新生刚学。

img

你的q是个式子和数字比肯定不对,分别用变量接受a b 比较a+b==c
改好之后

 
from random import *
import random
q="a={},b={},a+b".format(randint(0,10), randint(0,10))
w="a={},b={},a-b".format(randint(0,10), randint(0,10))
e="a={},b={},a*b".format(randint(0,10), randint(0,10))
r="a={},b={},a/b".format(randint(0,10), randint(0,10))
z=random.choice([q, w, e, r])
print(z)
a=z.split(',')[0].split('=')[1]
b=z.split(',')[1].split('=')[1]
t=z.split('a')[2].split('b')[0]

c = eval(input("请输入你计算的结果:"))
if t=='+':
    if int(a)+int(b)== c:
       print("对")
    else:
        print("错")
if t=='-':
    if int(a)-int(b)== c:
       print("对")
    else:
        print("错")
if t=='*':
    if int(a)*int(b)== c:
       print("对")
    else:
        print("错")
if t=='/':
    if int(a)/int(b)== c:
       print("对")
    else:
        print("错")



from random import *
import random
q="a={},b={},a+b".format(randint(0,10), randint(0,10))
w="a={},b={},a-b".format(randint(0,10), randint(0,10))
e="a={},b={},a*b".format(randint(0,10), randint(0,10))
r="a={},b={},a/b".format(randint(0,10), randint(0,10))
z=random.choice([q, w, e, r])
print(z)
c = eval(input("请输入你计算的结果:"))
if z == c:
   print("对")
else:
    print("错")

参考这个, 连运算符都随机。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632