我正在学习一本书的python:练习是为了使程序打印成真,如果列表中的所有数字所有赔率。
我得到了这种方法
if all(x % 2 == 1 for x in list):
但是尚未解释"如果所有"方法。他们仅在示例中使用,而在示例中使用布尔。此外,似乎可以进行反思性的练习,也许不是。可以使用上述基本工具来进行?
如果您查看文档:https://docs.python.org/3/library/functions.html#all
全部(iTable(。
如果峰值的所有元素都是正确的(或者iToble是空的(,则返回true。等效于:
def all(iterable):
for element in iterable:
if not element:
return False
return True
所以if all(x % 2 == 1 for x in li):
大致转化为
def are_all_odds(num_list):
#Flag to keep track if we encounter an even number
flag = True
for num in num_list:
#Once we encounter a even number, we break the for loop
if num % 2 != 1:
flag = False
break
#Return the flag
return flag
我们可以通过执行
来测试此功能print(are_all_odds([1, 2, 3, 4]))
#False
print(are_all_odds([1, 3, 5]))
#True
也只是一个建议, list
是一个python内置关键字,所以不要在变量中使用它:(
是的,这是可能的。
您编写的Python代码非常惯用,请继续做得很好。
要查看如何进行不同的操作,您可以查看不太先进的编程语言,例如C。这是一种非常基本的编程语言,缺乏此if all
语句的功能。搜索" C所有元素数组true"应该为您提供所需的代码。对于如此简单的代码,很容易将代码转换回Python。