判断用户数是否为数字
正在自学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("请输入正确的分数!")
程序有 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("请输入正确的分数!") zltzlt 发表于 2019-9-23 21:27
程序有 BUG,输入合法的数字就不停打印字母。帮你改了一下:
哈哈,好吧。我开始的要求是:只要是合法的数字(不管是大于100,还是负数都让他进行判断,判断玩之后输出A、B、C、D),你把数字定在 0-100当然是 更符合实际!谢谢 wangqi666666 发表于 2019-9-23 21:32
哈哈,好吧。我开始的要求是:只要是合法的数字(不管是大于100,还是负数都让他进行判断,判断玩之后输 ...
但是用你那个程序用户输入 100 就会不停地打印 'A' zltzlt 发表于 2019-9-23 21:34
但是用你那个程序用户输入 123 就会不停地打印 'D'
没有呀。、输入123,打印的是A 啊 。我刚刚试了很多次哦, wangqi666666 发表于 2019-9-23 21:35
没有呀。、输入123,打印的是A 啊 。我刚刚试了很多次哦,
不好意思,我刚刚打错了,我是想说:输入 100 会不停打印 'A' zltzlt 发表于 2019-9-23 21:38
不好意思,我刚刚打错了,我是想说:输入 100 会不停打印 'A'
输入100,本来就应该打印A的呀。反正比90大就打印A。是我没理解你的意思嘛?、我刚学的。。。说清楚点,版主大大 wangqi666666 发表于 2019-9-23 21:40
输入100,本来就应该打印A的呀。反正比90大就打印A。是我没理解你的意思嘛?、我刚学的。。。说清楚点, ...
会一直打印 A,不会停 输入100 也没有一直打印A,就打了一次啊。我不知道怎么截图,不然截图给你看
页:
[1]