【发布时间】:2016-11-04 20:03:02
【问题描述】:
以下代码将输出无限行的“test”。
foo = 5
while foo:
print("bar")
前几天我在这里遇到了一个关于数字和的答案。这是答案中显示的代码:
def digit_sum(t):
s = 0
while t:
s += t % 10
t //= 10
return s
我关注的部分是“while t:”部分。这如何以及为什么起作用?
【问题讨论】:
-
0 为假,非零为真。
-
您能否更详细地解释您的问题?因为,截至目前,我的回答是:“就是这样”。
-
您可以通过阅读文档找到答案:docs.python.org/3/library/stdtypes.html#truth
-
部分历史来自 C(可能更早?)零被认为是 False。
bool类是int的子类,因此它们密切相关。请注意,字符"0"(零)在 Python 中为 True,但在 Perl 中为 False。 -
@cdarke 在 python 中肯定 0 也是假的,而 1 是真的?
标签: python while-loop integer conditional-statements