这是基本的,我在网站上搜索过但我找不到任何具体的内容。
问题是编写一个取整数的函数,并为该整数返回一定数量的倍数。然后,返回包含这些倍数的列表。例如,如果要输入2作为数字参数,输入4作为倍数参数,则函数应返回包含2,4,6和8的列表。
到目前为止我所拥有的:
def multipleList(number, multiples):
mult = range(number, multiples, number)
print mult
测试案例将是:
print multipleList(2, 9):
>>> [2, 4, 6, 8, 10, 12, 14, 16, 18]
我得到了答案:
>>> [2, 4, 6, 8]
None
我知道范围有格式(开始,停止,步骤)。但是你如何告诉它在经过一定次数而不是一定数量后停止?
答案 0 :(得分:2)
尝试range(number, number*multiples+1, number)
代替:
def multipleList(number, multiples):
return list(range(number, number*multiples+1, number))
print(multipleList(2, 9))
输出:
[2, 4, 6, 8, 10, 12, 14, 16, 18]
答案 1 :(得分:0)
使用(number*multiples)+1
作为range
中的结束值:
>>> def multipleList(number, multiples):
mult = range(number, (number*multiples)+1 , number)
return mult
...
>>> print multipleList(2,9)
[2, 4, 6, 8, 10, 12, 14, 16, 18]
>>> print multipleList(3, 7)
[3, 6, 9, 12, 15, 18, 21]
函数的默认返回值为None
,因为您未在函数中返回任何内容,因此它将返回None
。
>>> def f():pass
>>> print f()
None #default return value
答案 2 :(得分:0)
另一种方法可能是以下方法
def mult_list(number, limit):
multiples = []
for i in xrange(1, limit+1):
multiples.append( number * i)
return multiples
例如: 在[8]中:mult_list(2,4) 出[8]:[2,4,6,8]
此外,如果我不想要参数,则空列表似乎与常规数据类型一致:
In [10]: mult_list(2,0)
Out[10]: []