鱼C论坛

 找回密码
 立即注册
查看: 2047|回复: 8

判断用户数是否为数字

[复制链接]
发表于 2019-9-23 21:18:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
正在自学python,感觉蛮好玩的。百度了很久,别人写的代码反正我也看不懂。就自己写了一个。考虑到了用户输入是:小数、字母等情况。
请各位大神帮忙看看有没有遗漏,错误。欢迎各位知道!第一次发帖,好像有点小激动!

while True:
        num_str = input("请输入你的分数:")
        #判断用户是不是要退出游戏
        if num_str == "q":
                print("欢迎下次再来!")
                break
        try:
                num = float(num_str)
                if num > 90:
                        print("A")
                elif 80 < num <= 90:
                        print("B")
                elif 60 < num <= 80:
                        print("C")
                else:
                        print("D")
        except ValueError:
                print("请输入正确的分数!")

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-23 21:27:08 | 显示全部楼层
程序有 BUG,输入合法的数字就不停打印字母。帮你改了一下:
num_str = input("请输入你的分数:")
while True:
        #判断用户是不是要退出游戏
        if num_str == "q":
                print("欢迎下次再来!")
                break
        try:
                num = float(num_str)
                if not 0 <= num <= 100:
                    num_str = input("请输入正确的分数!")
                    continue
                if num > 90:
                        print("A")
                elif 80 < num <= 90:
                        print("B")
                elif 60 < num <= 80:
                        print("C")
                else:
                        print("D")
                num_str = input("请输入你的分数:")
                continue
        except ValueError:
                num_str = input("请输入正确的分数!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-23 21:32:02 | 显示全部楼层
zltzlt 发表于 2019-9-23 21:27
程序有 BUG,输入合法的数字就不停打印字母。帮你改了一下:

哈哈,好吧。我开始的要求是:只要是合法的数字(不管是大于100,还是负数都让他进行判断,判断玩之后输出A、B、C、D),你把数字定在 0-100当然是 更符合实际!谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-23 21:34:14 | 显示全部楼层
wangqi666666 发表于 2019-9-23 21:32
哈哈,好吧。我开始的要求是:只要是合法的数字(不管是大于100,还是负数都让他进行判断,判断玩之后输 ...


但是用你那个程序用户输入 100 就会不停地打印 'A'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-23 21:35:29 | 显示全部楼层
zltzlt 发表于 2019-9-23 21:34
但是用你那个程序用户输入 123 就会不停地打印 'D'

没有呀。、输入123,打印的是A 啊 。我刚刚试了很多次哦,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-23 21:38:12 | 显示全部楼层
wangqi666666 发表于 2019-9-23 21:35
没有呀。、输入123,打印的是A 啊 。我刚刚试了很多次哦,

不好意思,我刚刚打错了,我是想说:输入 100 会不停打印 'A'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-23 21:40:39 | 显示全部楼层
zltzlt 发表于 2019-9-23 21:38
不好意思,我刚刚打错了,我是想说:输入 100 会不停打印 'A'

输入100,本来就应该打印A的呀。反正比90大就打印A。是我没理解你的意思嘛?、我刚学的。。。说清楚点,版主大大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-23 21:49:12 | 显示全部楼层
wangqi666666 发表于 2019-9-23 21:40
输入100,本来就应该打印A的呀。反正比90大就打印A。是我没理解你的意思嘛?、我刚学的。。。说清楚点, ...

会一直打印 A,不会停
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-23 22:01:07 | 显示全部楼层
输入100 也没有一直打印A,就打了一次啊。我不知道怎么截图,不然截图给你看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 18:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表