鱼C论坛

 找回密码
 立即注册
查看: 1242|回复: 1

[已解决]编一个找素数的程序,遇到了一点小问题,求大佬解惑。

[复制链接]
发表于 2017-11-12 20:43:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
print('Find all the prime number in given range.')
start = int(input('start:'))
end = int(input('end:'))
ran = [k for k in range(start, end+1)]
prime = ran[:]
for each in ran:
    for div in range(2, each):
        if each % div == 0:
            prime.remove(each)
            break


i = 0
while i+4 <= len(prime):
    print(prime[i], '\t', prime[i+1], '\t', prime[i+2], '\t', prime[i+3])
    i += 4

s = len(prime)
for k in range(0, s):
    prime[k] = str(prime[k])

a = s % 4

if a != 0:
    print('\t'.join(prime[-a:]))

我想要将素数打成四个一行,一开始加了后面一段是因为最后会显示index超出,从而最后几个打不出来,但是加了以后出了下面的问题。
Find all the prime number.
start:2
end:36
2          3          5          7
11          13          17          19
23        29        31
最后一行没有和上面对齐,这问题怎么解决?
求大佬点拨。
最佳答案
2017-11-12 21:41:34
格式化输出何不用format呢?
给你一个简单的代码作为提示:
  1. for i in range(3):
  2.         print("{:5}".format(i*11),end=' ')

  3.     0    11    22
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-12 21:41:34 | 显示全部楼层    本楼为最佳答案   
格式化输出何不用format呢?
给你一个简单的代码作为提示:
  1. for i in range(3):
  2.         print("{:5}".format(i*11),end=' ')

  3.     0    11    22
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 21:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表