0

我正在尝试制作一个程序,当满足某些条件时,该值将附加到列表中。

前任:

假设最后一个限制是 1000 如果计数值是 50 的倍数,则从 1 开始计数,将其附加到列表中

所以列表应该有数字,50,100,150,200 ......等等......我被困在第三步,我怎么让python知道这个值是50的倍数

谢谢你帮助我。

4

3 回答 3

2

使用%operator ,它返回余数。因此,如果一个数字是 50 的倍数,那么它的余数将为 0,除非数字本身为 0。(即 0 除以 50 将得到 0 作为余数)

>>> lis=[]
>>> for x in range(1,1001):
      if x%50==0:        
        lis.append(x)
>>> lis
[50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000]
于 2012-07-01T16:01:47.937 回答
1

如果一个 inti是 50 的倍数,那么根据定义,它除以 50 时余数为零 - Python 与大多数编程语言一样,有一个模运算符来准确检查 - “ia 是 50 的倍数吗?” 拼写为:

if i % 50 != 0:
   # i is a multiple of 50

或等效地:

if not i % 50:
   # i is a multiple of 50

您使用哪一个取决于您将其视为“余数为零”还是“没有余数”-但它们总是会给出相同的答案。

于 2012-07-01T16:04:43.840 回答
0
>>>a = [i for i in range(1,1001) if i%50==0]
>>>print a

或者

>>>a = [i for i in range(1,1001) if not i%50]
>>>print a
于 2012-07-01T16:10:31.427 回答