2024-04-23 20:08:22 发布
网友
在Python中,如果我有一个范围,我想遍历它并将每个数字除以另一个数字,我可以在if语句中这样做吗。
a = range(20) for i in a: if i / 3 == True: print i
在命令提示下:
>>> [i for i in range(20) if i%3 == 0] >>> [0, 3, 6, 9, 12, 15, 18]
或者
>>> a = [i for i in range(20) if i%3 == 0] >>> print a [0, 3, 6, 9, 12, 15, 18] >>>
这里的每个人都很好地解释了如何正确地做这件事。我只想解释你做错了什么。
if i / 3 == True
相当于:
if i / 3 == 1
因为True==1。所以你基本上是在检查我除以3等于1。你的代码将实际打印3 4 5。
我想你想做的是检查我是不是3的倍数。像这样:
if i % 3 == 0
你当然可以用if语句来做。或者可以将list comprehension与if一起使用
[x for x in range(20) if x % 3 == 0]
从python documentation到那些反对投票的人:
布尔值是两个常量对象False和True。它们用于表示真值(尽管其他值也可以被视为假值或真值)。在数字上下文中(例如用作算术运算符的参数时),它们的行为分别类似于整数0和1。
是的,但是。
拜托,拜托,拜托。不要说if some expression == True。这是多余的,会让很多人怀疑你在想什么。
if some expression == True
更重要的是。
i/3是商。
i/3
i%3是余数。如果我是3的倍数,i%3 == 0。
i%3
i%3 == 0
在命令提示下:
或者
这里的每个人都很好地解释了如何正确地做这件事。我只想解释你做错了什么。
相当于:
因为True==1。所以你基本上是在检查我除以3等于1。你的代码将实际打印3 4 5。
我想你想做的是检查我是不是3的倍数。像这样:
你当然可以用if语句来做。或者可以将list comprehension与if一起使用
从python documentation到那些反对投票的人:
布尔值是两个常量对象False和True。它们用于表示真值(尽管其他值也可以被视为假值或真值)。在数字上下文中(例如用作算术运算符的参数时),它们的行为分别类似于整数0和1。
是的,但是。
拜托,拜托,拜托。不要说
if some expression == True
。这是多余的,会让很多人怀疑你在想什么。更重要的是。
i/3
是商。i%3
是余数。如果我是3的倍数,i%3 == 0
。相关问题 更多 >
编程相关推荐