鱼C论坛

 找回密码
 立即注册
查看: 1449|回复: 12

[已解决]条件表达式求助

[复制链接]
发表于 2022-5-9 20:57:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如下图,这一段是不是有bug啊,实际运行下来中间一次测试结果为什么会是2,是我理解错了吗,求大佬解答


最佳答案
2022-5-9 22:22:26
豆嘉木 发表于 2022-5-9 22:14
这段代码应该就是个bug,小甲鱼错了吧,第一次判断a



代码运行不报错,语法就没问题,甲鱼哥的确实有错,但三元运算符并不是不能实现,可以这样写:
print(a) if a < b and a < c else print(b) if b < c else print(c)
1.PNG
2.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 22:14:08 | 显示全部楼层
这段代码应该就是个bug,小甲鱼错了吧,第一次判断a<c为True,后面就不会判断了,直接print(a),所以结果就是2,语法没问题但就是个bug。
所以这里只能用条件分支语句,三元表达式不可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-9 22:22:26 | 显示全部楼层    本楼为最佳答案   
豆嘉木 发表于 2022-5-9 22:14
这段代码应该就是个bug,小甲鱼错了吧,第一次判断a



代码运行不报错,语法就没问题,甲鱼哥的确实有错,但三元运算符并不是不能实现,可以这样写:
print(a) if a < b and a < c else print(b) if b < c else print(c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-9 22:32:25 | 显示全部楼层
Twilight6 发表于 2022-5-9 22:22
代码运行不报错,语法就没问题,甲鱼哥的确实有错,但三元运算符并不是不能实现,可以这样写:

对的,我的意思就是语法上没有bug,但代码就是个bug
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-9 22:35:34 | 显示全部楼层
Twilight6 发表于 2022-5-9 22:22
代码运行不报错,语法就没问题,甲鱼哥的确实有错,但三元运算符并不是不能实现,可以这样写:

你发现了这个问题可以去找甲鱼哥勘误,奖品满丰厚的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-9 22:48:46 | 显示全部楼层
豆嘉木 发表于 2022-5-9 22:35
你发现了这个问题可以去找甲鱼哥勘误,奖品满丰厚的

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-9 22:50:07 | 显示全部楼层
豆嘉木 发表于 2022-5-9 22:35
你发现了这个问题可以去找甲鱼哥勘误,奖品满丰厚的

不知道怎么向甲鱼哥勘误,你要是会的话可以帮忙提交下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-10 01:29:11 | 显示全部楼层
bao1xf2 发表于 2022-5-9 22:50
不知道怎么向甲鱼哥勘误,你要是会的话可以帮忙提交下

感谢指出,这里其实是由于优先级导致的错误,加上两对小括号就可以解决问题:
(print(a) if a < c else print(c)) if a < b else (print(b) if b < c else print(c))

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-10 07:32:26 From FishC Mobile | 显示全部楼层
最佳答案为啥不是我啊啊啊啊啊啊啊啊啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-10 21:02:45 | 显示全部楼层
豆嘉木 发表于 2022-5-10 07:32
最佳答案为啥不是我啊啊啊啊啊啊啊啊啊

print("你也是最佳!!!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-10 21:04:24 | 显示全部楼层
小甲鱼 发表于 2022-5-10 01:29
感谢指出,这里其实是由于优先级导致的错误,加上两对小括号就可以解决问题:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-10 22:21:09 | 显示全部楼层
bao1xf2 发表于 2022-5-10 21:02
print("你也是最佳!!!")

while True:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-10 22:21:56 | 显示全部楼层
bao1xf2 发表于 2022-5-10 21:02
print("你也是最佳!!!")

while True:
    printf("谢谢!")

之前不小心发了,不知道怎么删
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 10:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表