这又是基础知识,我在整个网站上进行了搜索,但是找不到任何与之相关的东西。

问题是编写一个函数,该函数需要一个整数,并为该整数返回一定数量的倍数。然后,返回包含这些倍数的列表。例如,如果要输入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


我知道范围具有格式(开始,停止,步进)。但是,您如何告诉它在一定次数后而不是一定次数后停止?

最佳答案

使用(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。代替打印mult,您应该返回它。

>>> def f():pass
>>> print f()
None            #default return value

关于python - 使用范围的倍数序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16826671/

10-12 21:20