如何在Python中生成含首尾特殊增量的分组递增数字?
解决分组数字的特殊增量生成问题
根据你的需求,我们可以针对每组内不同位置的元素设置对应的增量,下面是修改后的代码实现:
import numpy as np # 定义各规则对应的增量参数 edge_inc = 1 # 每组首尾相邻元素的增量 middle_inc = 5 # 每组中间元素的增量 group_inc = 3 # 组与组之间的增量 group_size = 6 # 每组包含的数字个数 num_groups = 3 # 要生成的组数 current = 0.0 for _ in range(num_groups): # 输出组内第一个数字 print("{:#.3g}".format(current)) # 生成并输出组内第二个数字(首段特殊增量) current += edge_inc print("{:#.3g}".format(current)) # 生成并输出组内中间3个数字(常规增量) for _ in range(3): current += middle_inc print("{:#.3g}".format(current)) # 生成并输出组内最后一个数字(尾段特殊增量) current += edge_inc print("{:#.3g}".format(current)) # 切换到下一组,加上组间增量 current += group_inc print()
代码逻辑说明
- 所有增量参数单独定义,后续修改规则时直接调整参数即可,无需改动核心逻辑
- 每组生成拆分为三个明确阶段:
- 输出初始值后,用
edge_inc生成第二个元素 - 循环3次,用
middle_inc生成中间三个元素 - 用
edge_inc生成最后一个元素
- 输出初始值后,用
- 每组结束后,给当前值加上
group_inc,作为下一组的起始值
运行结果
0.00 1.00 6.00 11.0 16.0 17.0 20.0 21.0 26.0 31.0 36.0 37.0 40.0 41.0 46.0 51.0 56.0 57.0
内容的提问来源于stack exchange,提问作者Sooji
相关产品推荐
相关产品推荐

