能否在if语句中解释模运算符的使用

问题描述 投票:0回答:1
m = 1
my_list_1 = [2 , 4, 1]
for x in my_list_1:
    for y in range(1,3):
        if (x + y) % 3:
            m = m * x
print (m)

在第5行中,模运算符的作用是什么。不需要== 1吗?

python if-statement mod
1个回答
0
投票

请参见https://docs.python.org/3/reference/expressions.html#booleans-if处理任何表达式的结果;它不必是严格的对与错,也不必涉及任何比较运算符。

在布尔运算的上下文中,以及控制流语句使用表达式时] >> [就像if],以下值将被解释为false:False,None,所有类型的数字零以及空字符串和容器(包括字符串,元组,列表,字典,集合和Frozensets)。所有其他值都解释为true。

在这种情况下,相关情况是%返回零或非零。

[零被认为是假y表达式,而非零被认为是真y表达式。

if 0:
  print("Not here!")

if 1:
  print("Here!")
© www.soinside.com 2019 - 2024. All rights reserved.