补丁从微软下载 2021-07-06 17:58 采纳率: 100%
浏览 44
已采纳

为什么python输入的结果跟变量相同,但是判定不相同?

import random
a=int(input("最小数值:"))
b=int(input("最大数值:"))
tc=0
if a > b:
    print("错误:最小数值应该小于最大数值")
    exit()
while 1:
    t=random.randint(a,b)
    m=random.randint(a,b)
    print(t,"+",m)
    d = t + m
    c = input("答案=")
    if d == c:
        print("正确")
        print()
    else:
        print("错误")
        print("答案是:",d)
        print()

python,比如说我是这样的:

最小数值:0
最大数值:10
0 + 5
答案=5
错误
答案是: 5

请问为什么python判断5!=5

  • 写回答

2条回答 默认 最新

  • 宁缺灬 2021-07-06 19:24
    关注

    img
    楼上回答的已经差不多算对了。再严谨一点,可以判断输入数据的合法性,

    import random
    def is_number(s):
        try:
            float(s)
            return True
        except ValueError:
            pass
        try:
            import unicodedata
            unicodedata.numeric(s)
            return True
        except (TypeError, ValueError):
            pass
    
        return False
    def inputNew(s):
        rst = input(s)
        while not is_number(rst):
            print("输入非法,请重新输入")
            rst = input(s)
        return int(rst)
    
    a=inputNew("最小数值:")
    b=inputNew("最大数值:")
    tc=0
    if a > b:
        print("错误:最小数值应该小于最大数值")
        exit()
    while 1:
        t=random.randint(a,b)
        m=random.randint(a,b)
        print(t,"+",m)
        d = t + m
        c = inputNew("答案=")
        if d == c:
            print("正确")
            print()
        else:
            print("错误")
            print("答案是:",d)
            print()
    

    img

    运行如图

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备