编写Python程序计算范围内连续3个数的和并输出列表
修正你的Python连续三数求和程序
你的代码目前存在几个问题:
- 循环从0开始,会生成包含0的组合,不符合需求里从1起始的要求
- 循环范围没控制好,输入N=8时会出现超出范围的数的组合
- 你只是把三个数拼成列表添加,没有计算它们的和
下面是修正后的代码:
arr = [] N = int(input("enter the value of N")) def lst(arr): # 从1循环到N-2,确保最后一组是(N-2)+(N-1)+N,不超出指定范围 for i in range(1, N - 1): total = i + (i + 1) + (i + 2) arr.append(total) lst(arr) print(arr)
也可以用更简洁的列表推导式写法:
N = int(input("enter the value of N")) result = [3*i + 3 for i in range(1, N-1)] print(result)
(3*i+3是i+(i+1)+(i+2)的简化写法,计算结果完全一致)
输入N=8时,程序会输出[6,9,12,15,18,21],符合你的需求。
内容的提问来源于stack exchange,提问作者Shri
相关产品推荐
相关产品推荐

