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

为什么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条)

报告相同问题?

悬赏问题

  • ¥15 用Multisim设计汽车尾灯控制电路
  • ¥100 求用matlab求解上述微分方程的程序代码
  • ¥15 请问各位,如何在Jetson nano主控板的Ubuntu系统中安装PyQt5
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
  • ¥15 安装ubantu过程中第一个vfat 文件挂载失败
  • ¥20 GZ::CTF如何兼容一些靶机?
  • ¥15 etcd集群部署问题
  • ¥20 谁可以帮我一下问一下各位