Python生成500以内三角数序列及循环i自增功能实现咨询
Python实现最大不超过500的三角数序列生成
原有代码问题说明
- 你编写的代码使用
for A in range(6,500,i)结构时,range的三个参数会在循环初始化时一次性计算完成,后续在循环体内修改i的值不会改变迭代的步长,因此无法实现每次累加值递增1的需求,生成的序列不符合预期。
符合需求的实现代码
# 初始化序列第一个元素、初始累加步长 A = 1 i = 2 # 限制序列最大值不超过500 while A <= 500: print(A, end=" ") # 计算下一个序列值 A += i # 每次打印A后将i加1 i += 1
运行输出
1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210 231 253 276 300 325 351 378 406 435 465 496
代码说明
- 改用
while循环实现动态步长的迭代逻辑,适配序列每次累加值递增1的规则 - 完全符合「每次打印A的时候将i的值加1」的要求
- 最终生成的序列最大值为496,满足不超过500的限制
内容的提问来源于stack exchange,提问作者A3V
相关产品推荐
相关产品推荐

