382678922 发表于 2023-4-9 23:14:24

课后作业问题 请大神解答

让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
while score != 'e': 是什么意思? 为什么是!='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("请输入你的分数:")

我根据上述自己写了一段 为什么运作不起来?
fen_shu = input('你的分数是多少')
while fen_shu !="e":
fen_shu = int(fen_shu)
if fen_shu <60:
    print('D')

if 60<= fen_shu < 80:
    print('c')

if 80<= fen_shu < 90:
    print('B')

if 80<= fen_shu < 100:
    print('A')
if fen_shu == 100:
    print('S')

isdkz 发表于 2023-4-9 23:17:57

你的代码中有一个缩进错误。在 while 循环里,你需要将所有 if 语句都缩进。

另外,你还需要在循环结束时再次获取用户输入。下面是修改后的代码:

fen_shu = input('你的分数是多少')
while fen_shu != "e":
    fen_shu = int(fen_shu)
    if fen_shu < 60:
      print('D')

    if 60 <= fen_shu < 80:
      print('C')

    if 80 <= fen_shu < 90:
      print('B')

    if 90 <= fen_shu < 100:
      print('A')

    if fen_shu == 100:
      print('S')

    fen_shu = input('你的分数是多少')

这个代码应该可以正确运行。其中 while fen_shu != "e": 这一行表示,只要用户输入的内容不是小写字母 "e",就会继续执行循环。当用户输入 "e" 时,程序将停止运行。

382678922 发表于 2023-4-9 23:27:29

请问这里的结束循环为什么没有用到 break。
代码运营依然会循环S/A/B/C/D
页: [1]
查看完整版本: 课后作业问题 请大神解答