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

如何使用For loop/While loop生成指定起始数的阶乘序列?

阶乘序列生成实现方案

你要生成的是阶乘序列,每一项对应正整数的阶乘(第k项为k!)。下面用Python给出两种循环实现方式,同时解决初始值保留的问题:

方式一:for循环实现

用变量保存当前乘积结果,初始值设为1(对应序列第一个元素),通过循环依次乘以后续整数,把结果存入列表:

# 生成前6项的示例
n_terms = 6
sequence = []
current = 1  # 初始值,对应1!
for i in range(1, n_terms + 1):
    current *= i
    sequence.append(current)

print(sequence)  # 输出: [1, 2, 6, 24, 120, 720]
  • current初始为1,第一次循环乘1得到1(1!),第二次乘2得到2(2!),以此类推
  • 循环范围range(1, n_terms+1)确保覆盖到需要的项数,每一步更新current并加入序列

方式二:while循环实现

用计数器控制循环次数,同样保留初始乘积值:

n_terms = 6
sequence = []
current = 1
count = 1  # 计数器,从1开始
while count <= n_terms:
    current *= count
    sequence.append(current)
    count += 1

print(sequence)  # 输出: [1, 2, 6, 24, 120, 720]
  • count作为循环的终止条件,每次循环后自增1
  • current始终保存当前阶乘结果,初始值1保证序列从1开始

如果要基于任意初始数字n(比如n=2)生成序列,只需把current的初始值设为n,然后从n+1开始乘:

start_num = 2
n_terms = 5
sequence = [start_num]
current = start_num
count = start_num + 1
while count <= start_num + n_terms - 1:
    current *= count
    sequence.append(current)
    count += 1

print(sequence)  # 输出: [2, 6, 24, 120, 720]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:54:23