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

Python奇偶判断程序为何输出None?三种实现方法问题排查

奇偶性判断程序输出None的问题修复

问题根源

前两种方法出现None输出的核心原因是在三元表达式中直接调用了print()函数:

  • print()函数执行时会输出内容,但它本身的返回值是None
  • 当三元表达式走else分支时,变量会被赋值为None(或外层print()会接收这个None作为输出内容),最终导致额外的None被打印

修正后的代码实现

# 方法一:修正三元表达式逻辑,避免直接在分支里调用print
user_number = int(input("Please enter the number you want to check\n"))
message_to_print = "Your number is even" if user_number % 2 == 0 else "Your number is odd"
print(message_to_print)

# 方法二:同样修正三元表达式,将字符串作为分支结果而非调用print
user_number_check = (user_number / 2).is_integer()
print("Your number is even" if user_number_check else "Your number is odd")

# 方法三:原逻辑正常,无需修改
if user_number_check:
    print("Your number is even ")
elif not user_number_check:
    print("Your number is odd ")

额外优化建议

  • 方法一中可以直接用三元表达式作为print()的参数,简化代码:
    print("Your number is even" if user_number % 2 == 0 else "Your number is odd")
    
  • 方法二中判断奇偶性更高效的方式是用取模运算user_number % 2 == 0,比除法后判断是否为整数的性能更好

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:27:08