You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写生成指定长度倍数列表的Python 3函数

生成指定长度倍数列表的Python函数实现

嘿,我来帮你搞定这个生成倍数列表的Python函数问题!咱们先把需求理清楚:

我们需要写一个Python 3函数,接收两个数值参数:

  • value:作为基数的数字
  • length:最终返回列表的元素个数

函数要返回一个列表,里面是value的连续倍数——从1倍开始,直到列表长度恰好达到length为止。

预期示例效果

list_of_multiples(value=7, length=5) ➞ [7, 14, 21, 28, 35]
list_of_multiples(value=12, length=10) ➞ [12, 24, 36, 48, 60, 72, 84, 96, 108, 120]
list_of_multiples(value=17, length=6) ➞ [17, 34, 51, 68, 85, 102]

分析现有代码的问题

你给出的待完善代码存在几个关键问题:

def multiples (value,length):
    """
    Value is number to be multiply
    length is maximum number of iteration up to which multiple required.
    """
    for i in range(length):
        out=i
    return i
  • 循环里只是反复把索引值i赋值给out,完全没计算value的倍数
  • 最后返回的是循环结束后的索引值i(也就是length-1),和我们需要的倍数列表完全不相关

修复后的实现方案

我给你两种实用的实现方式,按需选择:

方式1:直观的循环收集法

这种方式逻辑清晰,适合新手理解和调试:

def list_of_multiples(value, length):
    """
    Value is number to be multiplied
    Length is the number of multiples required in the output list.
    """
    multiples_list = []
    # 从1开始循环到length(包含),因为我们要的是1倍、2倍...length倍
    for i in range(1, length + 1):
        multiples_list.append(value * i)
    return multiples_list

方式2:简洁的列表推导式

如果你喜欢更紧凑的代码,用列表推导式一行就能完成:

def list_of_multiples(value, length):
    """
    Value is number to be multiplied
    Length is the number of multiples required in the output list.
    """
    return [value * i for i in range(1, length + 1)]

测试验证

调用任意一个版本的函数,都能得到示例中的预期结果。比如:

print(list_of_multiples(7, 5))  # 输出: [7, 14, 21, 28, 35]

内容的提问来源于stack exchange,提问作者Faisal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 00:27:36