清蒸油条 发表于 2020-11-4 00:02:25

关于新基础篇中第006讲动动手中的疑问

大佬们,第006讲动动手中的题目,输入分数输出对应的成绩,如何运用02-06讲的知识实现:
如果同学输入的分数是负数或者超过满分,则输出:'请输入正确分数:'
然后再进入循环,当时我思考了半天没想出来{:10_301:} {:10_301:} {:10_301:}

0. 编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级。
(实现输入负数或超过满分则提示重新输入)
score = int(input("请输入你的分数:"))
if score < 60:
    print("D")
if 60 <= score < 80:
    print("C")
if 80 <= score < 90:
    print("B")
if 90 <= score < 100:
    print("A")
if score == 100:
    print("S")


1. 修改上一题的代码,让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
(实现输入负数或超过满分则提示重新输入然后重新进入循环)
score = input("请输入你的分数:")
while score != 'e':
    score = int(score)
    if score < 60:
      print("D")
    if 60 <= score < 80:
      print("C")
    if 80 <= score < 90:
      print("B")
    if 90 <= score < 100:
      print("A")
    if score == 100:
      print("S")
    score = input("请输入你的分数:")

jackz007 发表于 2020-11-4 01:05:27

本帖最后由 jackz007 于 2020-11-4 01:07 编辑

while True:
    score = int(input("请输入你的分数:"))
    if 0 <= score <= 100 : break
    else : print("分数无效,请重新输入!\n")
if score < 60 : print("D")
elif 60 <= score < 80 : print("C")
elif 80 <= score < 90 : print("B")
elif 90 <= score < 100 : print("A")
else : print("S")

binzai_007 发表于 2020-11-4 08:55:12

score = input("请输入你的分数:")
while score != 'e':
    score = int(score)
    if score < 60:                                 #这里输入小于0的也满足你的条件,所以需要在之前做判断。
      print("D")
    if 60 <= score < 80:
      print("C")
    if 80 <= score < 90:
      print("B")
    if 90 <= score < 100:
      print("A")
    if score == 100:
      print("S")
    score = input("请输入你的分数:")

清蒸油条 发表于 2020-11-4 09:15:58

binzai_007 发表于 2020-11-4 08:55
score = input("请输入你的分数:")
while score != 'e':
    score = int(score)


考试最低就0分了, 难道老师还要因为卷面分给扣到负数吗{:10_285:}

清蒸油条 发表于 2020-11-4 09:22:43

jackz007 发表于 2020-11-4 01:05


虽然这个已经完成了动动手第一题. 但是用上了elif, 在02-06讲中还没讲到elif.
页: [1]
查看完整版本: 关于新基础篇中第006讲动动手中的疑问