该程序应该做的是接受用户输入,生成一个collat​​z序列,然后从该序列中打印出每个项目,并在每个数字之间带有一个制表符,但是从列表中的6个元素之后,它将在下一行打印,依此类推最后一行(其余元素)不需要6。最后一部分是应该从序列中找到最大的数字。

我有要生成的序列,我可以找到最大的序列,我只是想不出如何进行间隔。

我尝试过的
(只需要打印第一张照片)

def display_sequence(sequence)
    print()
    for i in sequence:
        print(i, end = " \t")

最佳答案

而不是遍历递增的索引序列,而是遍历0,...,5的重复周期。if语句可以简化为条件表达式,以选择'\t'\n'作为结束字符。

from itertools import cycle

for index, item in zip(cycle(range(1, 7)), sequence):
    print(item, end='\t' if item < 6 else '\n')


或者,迭代每个切片的起始索引:

for s in range(0, len(sequence), 6):
    print('\t'.join(sequence[s:s+6]))


itertools模块的文档还提供了直接迭代切片sequence[0:6]sequence[6:12]等的方法。

关于python - 如何制作一个循环,每行打印一个列表的6个元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58506245/

10-14 15:04