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

为何Python奇偶判断代码中用print赋值变量会运行失败?

问题原因解析

核心问题出在对Python中print()函数返回值的理解上:

  • print()函数的作用是将内容输出到控制台,但它执行完成后,返回的固定是None(一个表示“无值”的特殊对象),而不是你打印的内容本身。

看你最初的错误代码:

number = int(input("Which number do you want to check? "))

check = print(number % 2)  # 这里check被赋值为print()的返回值None

if check == 0:
    print("This is an even number")
else:
    print("This is an odd number")

虽然number % 2的结果(0或1)会被打印出来,但变量check实际存储的是None。接下来if check == 0的判断,本质是比较None == 0,这个判断的结果永远是False,所以不管输入的数字是奇数还是偶数,程序都会执行else分支,导致逻辑错误。

而正确的代码里:

check = number % 2

直接把number % 2的计算结果(0代表偶数,1代表奇数)赋值给check,后续的if判断就能准确匹配条件,程序逻辑自然正常运行。

简单说:print()只负责“输出内容”,不能用来获取你要计算的值,要存储计算结果,直接赋值表达式本身就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 16:22:49