Estellelllle 发表于 2021-9-29 10:19:08

作业第6讲,求助大佬!!

编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级,让程序可以不断接收输入,用户输入小写字母 e 结束程序,并且用户输入e时打印“结束啦”
分数 < 60,D
60 <= 分数 < 80,C
80 <= 分数 < 90,B
90 <= 分数 < 100,A
分数 == 100,S

后面那个在输入“e”时打印结束啦,是我自己加的,但是我一直写不出来,总是第一次输入“e”不显示“结束啦”,要输入几次数字,进入while 循环后输入“e”才会出现“结束啦”。
我知道不应该在while 后面插入if score=="e" print("结束啦‘),但我不知道怎么写才能在用户第一次输入“e”时就显示“结束啦”。菜鸡求助各位大佬!

傻眼貓咪 发表于 2021-9-29 17:48:21

grade = {100: 'A', 90: 'B', 80: 'C', 60: 'D'}

while True:
    score = input()
    if score == 'e':
      print("结束啦")
      break
    elif eval(score) == 100:
      print('S')
    else:
      arr = list(grade.keys())
      arr.sort()
      for i in arr:
            if eval(score) < i:
                print(grade)
                break90
A
84
B
34
D
74
C
e
结束啦

ciccee 发表于 2021-9-29 21:52:42

你或许可以把你的代码贴出来?这样描述不太懂你在说什么{:10_257:}

18408238295 发表于 2021-9-30 10:39:58

fenshu=input('请输入成绩:')
while fenshu!='e':
   if 0<=int(fenshu)<60:
   print('D')
   elif 60<=int(fenshu)<80:
   print('C')
   elif 80<=int(fenshu)<90:
   print('B')
   elif 90<=int(fenshu)<100:
   print('A')
   elif int(fenshu)==100:
   print('S')
   else:
       print('不在0-100范围内')
   fenshu=input('请输入成绩:')
print('结束')

18408238295 发表于 2021-9-30 10:46:16

fenshu=input('请输入成绩:')
while fenshu!='e':
   fenshu=int(fenshu)
   if 0<=fenshu<60:
   print('D')
   elif 60<=fenshu<80:
   print('C')
   elif 80<=fenshu<90:
   print('B')
   elif 90<=fenshu<100:
   print('A')
   elif fenshu==100:
   print('S')
   else:
       print('不在0-100范围内')
   fenshu=input('请输入成绩:')
print('结束')

Estellelllle 发表于 2021-10-5 11:48:01

傻眼貓咪 发表于 2021-9-29 17:48


万分感谢!

Estellelllle 发表于 2021-10-5 11:48:56

18408238295 发表于 2021-9-30 10:39
fenshu=input('请输入成绩:')
while fenshu!='e':
   if 0

万分感谢!
页: [1]
查看完整版本: 作业第6讲,求助大佬!!