虫行天下 发表于 2022-3-26 11:55:54

求助 :006课后作业题

1、题目要求:
分数 < 60,D
60 <= 分数 < 80,C
80 <= 分数 < 90,B
90 <= 分数 < 100,A
分数 == 100,S

2、我的代码
temp = input ('请输入你的分数:')
result = int (temp)

if result == 100:
    print ('S')
if 90 <= result <100:
    print ('A')
if 80 <= result <90:
    print ('B')
if 60 <= result <80:
    print ('C')
else :
    print ('D')
   
运行时,当我输入100,结果返回 S D

这是为什么?

isdkz 发表于 2022-3-26 12:05:36

因为最后一个 if 不满足,就执行 else 了,你这样子后面的 if 跟上面的 if 不是联动的,

所有的 if 都会执行一遍,你应该用 elif,

故对你的代码修改如下:

temp = input ('请输入你的分数:')
result = int (temp)

if result == 100:
    print ('S')
elif 90 <= result <100:
    print ('A')
elif 80 <= result <90:
    print ('B')
elif 60 <= result <80:
    print ('C')
else :
    print ('D')

Gacy 发表于 2022-3-26 12:05:52

最后一个else会执行,你得再改一下

Gacy 发表于 2022-3-26 12:14:04

temp = input ('请输入你的分数:')
result = int (temp)

if result<60:
    print ('D')
    if 60 > result and result >= 80:
      print('C')
    if 80 <= result <90:
      print ('B')
    if 90 <= result <100:
      print ('A')
else :
    print ('S')

虫行天下 发表于 2022-3-26 12:18:49

Gacy 发表于 2022-3-26 12:14


这个也挺清晰
页: [1]
查看完整版本: 求助 :006课后作业题