我需要创建一个函数,该函数打印1k到5k之间的数字列表,该列表可以被x和x+5整除,没有余数。例如,当我运行x= 100的代码时,我得到:[2100](2100、4200)而我的答案应该是[2100,4200]。如果我把print移到函数本身之外,我得到NONE。对python还是个新手,我觉得我错过了一些如此简单的东西
def inrange(x):
list= []
for i in range(1000,5001):
if i%x == 0 and i%(x+5) == 0:
list.append(i)
print(list)
else:
continue
inrange(100)
从for循环中删除print语句,只返回末尾的列表:
def inrange(x):
list= []
for i in range(1000,5001):
if i%x == 0 and i%(x+5) == 0:
list.append(i)
else:
continue
return list
print(inrange(100))
打印两次的原因是每次向列表添加内容时它都会打印。因此只需将print语句移到循环外,如下所示:
def inrange(x):
list= []
for i in range(1000,5001):
if i%x == 0 and i%(x+5) == 0:
list.append(i)
else:
continue
return list
print(inrange(100))