You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化寻找三个变量中最大奇数的Python代码?

优化寻找三个变量中最大奇数的Python代码

你的原始代码分支嵌套过多、逻辑冗余,完全可以简化成更清晰、更易维护的版本。核心思路是先筛选出所有奇数,再从中找最大值,如果没有奇数则输出提示信息。

简洁实现方案一(列表推导式)

# 从x、y、z中筛选出所有奇数
odds = [num for num in [x, y, z] if num % 2 != 0]

if odds:
    # 列表非空时,直接取最大值输出
    print(max(odds))
else:
    # 列表为空说明全是偶数
    print('None of them are odd')

实现方案二(生成器表达式,更省内存)

如果后续需要检查的变量数量很多,用生成器表达式可以避免创建完整列表,节省内存:

odds = (num for num in [x, y, z] if num % 2 != 0)
try:
    print(max(odds))
except ValueError:
    # 当生成器为空时,max()会抛出ValueError,捕获后输出提示
    print('None of them are odd')

为什么这两种方案更好?

  • 代码行数大幅减少,逻辑一目了然,不用再写一堆嵌套的if-elif
  • 扩展性强:如果以后要检查更多变量,只需要修改[x, y, z]这个列表即可,不需要新增分支
  • 利用Python内置的max()函数,避免手动写比较逻辑,减少出错概率

内容的提问来源于stack exchange,提问作者physics_python

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:40:27