在原始代码中,循环部分使用了`while`循环来实现持续输入和评级的功能。但是,在每次循环开始时,程序会再次执行`score = input("请输入你的分数:")`这一行代码,要求用户再次输入分数。
如果用户重复输入相同的分数,那么无论之前的判断条件如何,都会输出相同的评级。例如,若输入分数为70,则在判断条件处满足了两个条件:60<=score<80 和 score<90。所以会同时输出"C"和"B"两个评级。
通过将最后一句代码放在循环体内,可以确保每次循环之前都会请求用户输入一个新的分数。这样,每次循环都会使用新的分数进行判断和评级,而不会重复使用之前的分数。这样能够避免反复输出相同的答案。
当然,我们也可以把代码优化一下:
- score = input("请输入你的分数:")
- while score != 'e':
- score = int(score)
- if score < 60:
- print("D")
- elif 60 <= score < 80:
- print("C")
- elif 80 <= score < 90:
- print("B")
- elif 90 <= score < 100:
- print("A")
- elif score == 100:
- print("S")
- score = input("请输入你的分数:")
复制代码
这样子避免了多次查询分数,当然不改也不会影响结果。只是效率的问题
如果还有其他问题,请随时提问。
求最佳答案