【问题标题】:How do I make a long list print in segments?如何分段打印长列表?
【发布时间】:2018-05-16 05:14:53
【问题描述】:

我正在尝试通过编写我感兴趣的代码来学习 python,目前我想在运行时列出我选择的所有素数。然而,当我打印素数时,它们都会在一行中脱口而出。如果你输入一个很大的数字,这真的很长。我怎样才能让我的打印总是像 10 个索引然后开始一个新行?

注意:仅出于调试目的,这非常冗长。

我的代码:

primes = []
numberToGoTo = int(input("Find primes up to what number?\n"))

for i in range(2, numberToGoTo):
    for j in range(2, i):
        print("Checking to see if {} is a prime.  Current divisor: {}".format(i, j))
        if i % j == 0 and j > 1 and j < i:
            print("{} is not prime".format(i))
            break
    else:
        print("{} is a prime! Adding to list.".format(i))
        primes.append(i)
else:
    #number of primes
    print(len(primes))
    #list all primes
    print(primes)

【问题讨论】:

  • 查看pprint 模块
  • 您还可以添加您对输出的期望吗?
  • 当然!就像每行有十个素数,然后是最多十个的新行和最多十个的新行,依此类推,直到结束
  • @sshashank124 pprint 效果很好!
  • 太棒了。很高兴我能帮忙

标签: python list printing


【解决方案1】:

您可以使用创建自定义打印功能来执行此操作。

def custom_print(primes, index):
    index /= 2
    lim = index
    while(lim <= len(primes)):
        print(primes[lim-index:lim+index])
        lim += index

custom_print(primes, 10)

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多