我有一个列表,该列表按降序排列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。我的代码既没有输出也没有任何错误。
答案 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)