hao1232 发表于 2022-9-7 09:09:45

新手求助 关于 if 语句报错的问题

a = 3
>>> b = 5
>>> small = a if a < b else smaall= b
SyntaxError: cannot assign to conditional expression
>>> print(a)
3
报错!
print("asd") if a < 5 else print("or")
asd
就可以????

heidern0612 发表于 2022-9-7 09:17:40

small = a if a < b else smaall= b

第二个small是不是拼写错了?

hao1232 发表于 2022-9-7 09:23:43

heidern0612 发表于 2022-9-7 09:17
small = a if a < b else smaall= b

第二个small是不是拼写错了?

这是个是一个问题,但应该不会报错才对;是把a标红报错;说无法判段条件。
按道理来说不应该啊......

Twilight6 发表于 2022-9-7 09:28:01

hao1232 发表于 2022-9-7 09:23
这是个是一个问题,但应该不会报错才对;是把a标红报错;说无法判段条件。
按道理来说不应该啊......



赋值写最开始就好, if 条件成立 就会将 a 赋值给 small,反之将 b 赋值给 small

small = a if a < b else b

hao1232 发表于 2022-9-7 09:40:05

Twilight6 发表于 2022-9-7 09:28
赋值写最开始就好, if 条件成立 就会将 a 赋值给 small,反之将 b 赋值给 small

好的,拜谢大佬{:9_232:}

hao1232 发表于 2022-9-7 09:46:37

Twilight6 发表于 2022-9-7 09:28
赋值写最开始就好, if 条件成立 就会将 a 赋值给 small,反之将 b 赋值给 small

大佬,请问一下这个语句:
small = a if a < b else b
成立;如果换成
small = a if a < b else c = b
所以这种语句只能在 前后两个值赋值给同一个变量时才能使用吗?
前后被赋值变量不一致就会报错?

页: [1]
查看完整版本: 新手求助 关于 if 语句报错的问题