while 1:` → `1` 是真值(True),条件恒为真,**无break或退出机制时会无限循环
2026/8/15 11:21:34 网站建设 项目流程

选项中会无限循环的是:

C.while 1:

✅ 解析:

  • A.while 0:0是假值(False),循环体不执行,不会进入循环,更不会无限循环。
  • B.while False:→ 条件恒为假,循环体不执行,不会进入循环。
  • C.while 1:1是真值(True),条件恒为真,无break或退出机制时会无限循环
  • D.for i in range(5):→ 明确迭代5次(i = 0,1,2,3,4),有限循环,不会无限。

因此,正确答案是:C

# 示例:C 会导致无限循环(除非内部有 break)while1:print("Hello")# 永远打印,除非手动中断(Ctrl+C)或加 break

在 Python 中,以下值在布尔上下文中被视为False(即调用bool(x)返回False),其余绝大多数值均为True

明确为假(Falsy)的值有且仅有以下 7 种(来自 Python 官方文档):

  • None
  • False(布尔类型本身)
  • 所有数值类型的零值:
    • 0(int)
    • 0.0(float)
    • 0j(complex)
  • 空序列/集合:
    • ''(空字符串)
    • ()(空元组)
    • [](空列表)
    • {}(空字典)
    • set()(空集合)
    • range(0)(空 range 对象)
  • 其他自定义对象若实现了__bool__()方法并返回False,或未实现__bool__()但实现了__len__()len(obj) == 0,也视为False

⚠️ 注意:

  • 0.000,-0,0.0+0.0j等仍属于零值,均为False
  • 'False'(字符串)、[0]{0: 0}True都是True—— 字符串非空即真,容器非空即真,与内容语义无关。
# 示例验证falsy_values=[None,False,0,0.0,0j,'',(),[],{},set(),range(0)]print([bool(x)forxinfalsy_values])# 全为 [False, False, False, ..., False]# 这些看似“假”但实际为 True:print(bool('False'))# True(非空字符串)print(bool([0]))# True(非空列表)print(bool({}))# False(空字典)✅,但 bool({'a':1}) → True

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询