|
|
发表于 2023-4-16 13:03:09
|
显示全部楼层
本帖最后由 歌者文明清理员 于 2023-4-16 13:35 编辑
根据您的描述,你可以按照以下步骤取数:
- 如果 x <= 31,那么直接取所有的数字。
- 如果 x > 31,则需要从序列中选择 31 个数字。其中,最开始和最后的数字必须被选中。其余数字根据固定间隔选取。
具体实现代码可以如下所示:
- # 第一步
- if x <= gap:
- gap_list = list(lng)
-
- # 第二步
- else:
- gap_list.append(0) # 加入第一个数
- # 计算要选几个数,以及每个数之间的间隔
- num_of_gaps = gap - 2
- gap_size = (x - 1) // num_of_gaps
- # 按照间隔选取数值
- index = gap_size + 1
- while len(gap_list) < gap - 1:
- gap_list.append(lng[index])
- index += gap_size
- gap_list.append(x - 1) # 加入最后一个数
复制代码 在这段代码中,我们使用了列表 gap_list 来保存选取的数值。一开始,我们将 0 添加到 gap_list 中(即第一个数),然后计算出剩余应该选取的数的数量并计算其间隔大小。然后,按照相应的间隔,从原始序列 lng 中选取数值并添加到 gap_list 中。最后,将 x-1 (即最后一个数)添加到 gap_list 中。
希望这可以帮助到您。 |
|