008题完整版
研究了几天才研究出来 我是菜鸟 必须输入正确的才能退出,要不就重新输入temp=input('请输入你的分数:')
while not temp.isdigit():
temp=input('请输入0-100的数字:')
while True:
if temp.isdigit():
temp=int(temp)
if 100>=temp>=90:
print('A')
break
elif 90>temp>=80:
print('B')
break
elif 80>temp>=60:
print('C')
break
elif 60>temp>=0:
print('D')
break
else:
temp=input('请输入0-100的数字:') 第二个while循环中的第一个if可以删掉 挺好的,你使用了while not temp.isdigit()
我上学期学习的时候也写过类似的成绩输入判断等级
i=0
while i == 0:
try:
temp=int(input('请你输入成绩(0-100):'))
if 90 <= temp <= 100:
i +=1
print('A')
elif 80 <= temp < 90:
i +=1
print('B')
elif 60 <= temp < 80:
i +=1
print('C')
elif 0 <= temp < 60:
i +=1
print('D')
else:
print('输入错误请你重新输入!')
except:
print('输入错误请你重新输入!')
我是通过定义一个来实现循环的,还有使用了程序的异常处理try:except:结构。
功能一样写法不同,哈哈让我们一起学习,我学习你的.isdigit方法来实现判断错误和循环结构。 BngThea 发表于 2017-11-17 15:44
第二个while循环中的第一个if可以删掉
看看我的代码有什么问题吗,在下面 像番茄加两个蛋 发表于 2017-11-17 16:00
看看我的代码有什么问题吗,在下面
except要处理一下本次循环,添加一句continue 1、用isdecimal()方法来判断字符串是不是数字比isdigit()更好
2、第二个while循环里面第一个if似乎多余了吧! BngThea 发表于 2017-11-17 15:44
第二个while循环中的第一个if可以删掉
谢谢 这个 还真不知道 像番茄加两个蛋 发表于 2017-11-17 15:59
挺好的,你使用了while not temp.isdigit()
我上学期学习的时候也写过类似的成绩输入判断等级
谢谢 你这也是python吗
铁棍阿童木 发表于 2017-11-17 17:49
1、用isdecimal()方法来判断字符串是不是数字比isdigit()更好
2、第二个while循环里面第一个if似乎多余了 ...
谢谢 还没学到 isdecimal()函数呢 等学会了 在研究
像番茄加两个蛋 发表于 2017-11-17 16:00
看看我的代码有什么问题吗,在下面
厉害 ,我的思路还是没拓开 BngThea 发表于 2017-11-17 16:59
except要处理一下本次循环,添加一句continue
添加continue不就跳出循环了吗
BngThea 发表于 2017-11-17 15:44
第二个while循环中的第一个if可以删掉
不加if报错了 啊
457799577 发表于 2017-11-20 09:13
添加continue不就跳出循环了吗
break才是跳出 457799577 发表于 2017-11-20 09:24
不加if报错了 啊
我说的是第一个if,因为前面的输入过程已经进行过判定了 BngThea 发表于 2017-11-20 09:27
我说的是第一个if,因为前面的输入过程已经进行过判定了
输入的只是True,你的意思把True换成temp.isdigit():
temp=int(temp)这个嘛
不要if判断,但是里面的语句要 BngThea 发表于 2017-11-20 12:27
不要if判断,但是里面的语句要
不行,if必须加,要不小数的时候会报错。我刚试了
你说是这样吧
while True:
temp=int(temp) 457799577 发表于 2017-11-20 13:39
不行,if必须加,要不小数的时候会报错。我刚试了
你说是这样吧
while True:
那请问你的第一个while循环是做什么的? BngThea 发表于 2017-11-20 15:21
那请问你的第一个while循环是做什么的?
第一个while字符都能拦住,只是不知道为何小数不行 不错不错
页:
[1]