1
blueset 2020-03-15 13:42:27 +08:00
|
2
ClericPy 2020-03-15 13:44:19 +08:00
第二个 if 开始都改成 elif
|
3
czhfrank 2020-03-15 13:45:47 +08:00 via iPhone
从第二个 if 开始都要换 elif
|
4
SorRines OP 我知道正确答案要改成 elif 但是我想弄明白为什么我最后的 else 会触发
|
5
crella 2020-03-15 13:47:55 +08:00 via Android
我有个同事在 pyq 晒学 python,我也不知道为什么她也是犯了类似的错误,就是把 if elif else 嵌套 打成了多个 if 并列。runoob 上没有这种教法啊
|
6
42alex 2020-03-15 13:48:08 +08:00 via Android
因为最后一个 else 只对应上一个 if…跟前面的 if 没关系了
|
7
czhfrank 2020-03-15 13:48:53 +08:00 via iPhone
@SorRines 每个 if 都是独立的判断语录,所以最后一个 else 是跟随最后一个 if 组成完整语录的。整个程序每个独立判断语录都会按顺序运行
|
10
SorRines OP 明白 感谢各位 不逐一回复各位了 哈哈
|
11
humor66 2020-03-15 13:53:18 +08:00
if 100 >= score >= 90 :
print('A') if 90 > score >= 80 : print('B') if 80 > score >= 60 : print('C') if 60 > score >= 0 : print('D') else : print('输入错误') 这几个 if 是独立的,每个 if 都会去判断 |
12
zhangyangkam1 2020-03-15 13:55:19 +08:00
语法错了。。。
因为不满足 60 > score >= 0 所以进入 else |
13
wuwukai007 2020-03-15 14:05:35 +08:00
打个断点,else 只跟上一个 if
|
14
nightan 2020-03-21 21:04:30 +08:00 via Android
判断多个条件是——
if… elif… elif… else 而你的写法 else 匹配之前的 if 也就是说 if 60 > score >= 0 : print('D') else : print('输入错误') 这几行构成了一个逻辑 因为 60 不满足 60 > score >= 0 这个条件 所以触发了 else 后的代码 |