如何在Python中使用for

时间:2019-05-10 11:16:01

标签: python

我有一个列表,该列表按降序排列100到1。我想打印可被25整除的数字。下面的代码似乎有权利,但没有给出输出。

r=range(100,0,-1) #defining the list
print(list(r))    #printing the list
for t in list(r): #loop to traverse through the list
    if(t/25==0):  #condition to check divisibity test
        print(t)  #printing on satisfying the condition

我想在执行后看到100、75、50、25。我的代码既没有输出也没有任何错误。

3 个答案:

答案 0 :(得分:3)

使用%模数运算符a%b进行除数测试,如果a被b整除,它将返回0

从文档中:https://docs.python.org/3/reference/expressions.html#binary-arithmetic-operations

  

%(模)运算符从第一个参数除以第二个参数得出余数。

r=range(100,0,-1) #defining the list
for t in list(r): #loop to traverse through the list
    if(t%25==0):  #condition to check divisibity test
        print(t)  #printing on satisfying the condition

此外,您无需将范围分配给变量,然后再使用它,就可以直接使用

for t in range(100,0,-1): #loop to traverse through the list
    if(t%25==0):  #condition to check divisibity test
        print(t)  #printing on satisfying the condition

另外,使用列表理解的另一种方法可能是(鉴于以后可能需要列表)

li = [item for item in range(100, 0, -1) if item%25 == 0]
print(li)
#[100, 75, 50, 25]

答案 1 :(得分:0)

除了Devesh的答案是正确的答案之外,如果您绝对需要单行,这是列表理解(尽管请注意,这会在后台创建None列表,这有点浪费)< / p>

_ = [print(t) for t in r if t % 25 == 0]
100
75
50
25

答案 2 :(得分:0)

r=range(100,0,-1) 
#print(list(r))    
for t in list(r): 
    if(t%25==0): 
        print(t)