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

如何实现输入整数x生成指定斐波那契数列并计算偶数索引元素之和

如何实现输入整数x生成指定斐波那契数列并计算偶数索引元素之和

嘿,我来帮你搞定这个问题!咱们先把需求拆解清楚,再一步步写出对应的Python代码。

需求拆解

首先明确要做的几件事:

  • 从控制台获取一个整数输入x(示例里是25)
  • 生成所有小于x的斐波那契数列元素
  • 计算这个数列中**偶数索引(从0开始计数)**的元素之和(比如示例里的0、1、3、8、21,加起来是33)
  • 先逐行打印斐波那契数列的每个元素,最后输出求和结果

完整代码实现

下面是符合要求的代码,每一步都加了注释,方便理解:

# 获取用户输入并转换为整数,提示语和示例保持一致
x = int(input("k: "))

# 初始化斐波那契数列的存储列表
fib_series = []
# 斐波那契的初始两个数,a是当前要加入列表的数,b是下一个数
a, b = 0, 1

# 生成所有小于x的斐波那契数
while a < x:
    fib_series.append(a)
    # 更新a和b,经典的斐波那契迭代更新方式
    a, b = b, a + b

# 逐行打印数列中的每个元素
for num in fib_series:
    print(num)

# 计算偶数索引元素的和:从索引0开始,每隔2个元素取一个
alternate_sum = sum(fib_series[i] for i in range(0, len(fib_series), 2))

# 打印最终的求和结果
print(f"sum: {alternate_sum}")

代码运行示例

当你输入25时,控制台会输出:

k: 25
0
1
1
2
3
5
8
13
21
sum: 33

关键细节说明

  • 斐波那契数列生成:用迭代的方式比递归更高效,避免了重复计算,适合处理较大的x值
  • 偶数索引的定义:这里的“偶数-numbered”是指从0开始计数的偶数位置(第1个元素索引0,第3个元素索引2,以此类推),这和示例的求和结果完全匹配
  • 输入处理:代码里直接把输入转成整数,如果需要处理非整数输入的情况,可以额外加try-except块做容错,但题目没有要求的话,基础版本就足够了

备注:内容来源于stack exchange,提问作者Shiva Rawat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:03:05