带 Python 的表格格式
Tabular Formatting w/ Python
我正在尝试获取以下代码的输出:
for x in range(1,100):
if x==2:
print(x)
else:
for i in range (2,x):
if x%i==0:
break
elif x%i!=0:
if i==(x-1):
print(x)
输出如下:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
- 必须只有十行
- 个位数必须叠在单数上,十位叠在十位上,依此类推
您可以只使用 `print(str(x) + "\t") 来获得制表符间隔的输出。如果您将在新行中获取每个值,则使用 sys.stdout.write 而不是打印。
另外这个条件elif x%i!=0
不需要,直接用else
for x in range(1,100):
if x==2:
print(x, end="\t")
else:
for i in range (2,x):
if x%i==0:
break
elif x%i!=0:
if i==(x-1):
print(x, end="\t")
这会在每个印刷品后面放置一个制表符。您可以使用 end=" " 将 space 放在印刷品后面。这样你的循环就不会在不同的行中打印每个结果。
'%4s' %素数
如果你有素数,你可以使用 '%4s' % prime
将素数右对齐 4 个字符(你可以选择其他宽度,或根据你的范围调整它):
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,
43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
width = 4
cell_format = '%'+str(width)+'s'
cells = 10
for i,p in enumerate(primes):
if i % 10 == 0:
print
print cell_format % p,
它输出:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
您的代码:
Python 2
count = 0
cells = 10
for x in range(1,100):
if x==2:
print('%4s' % x),
else:
for i in range (2,x):
if x%i==0:
break
elif x%i!=0:
if i==(x-1):
count += 1
if count % cells == 0:
print("")
print('%4s' % x),
Python 3
count = 0
cells = 10
for x in range(1, 100):
if x == 2:
print('%4s' % x, end='')
else:
for i in range(2, x):
if x % i == 0:
break
elif x % i != 0:
if i == (x - 1):
count += 1
if count % cells == 0:
print("")
print('%4s' % x, end='')
print("")
我正在尝试获取以下代码的输出:
for x in range(1,100):
if x==2:
print(x)
else:
for i in range (2,x):
if x%i==0:
break
elif x%i!=0:
if i==(x-1):
print(x)
输出如下:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
- 必须只有十行
- 个位数必须叠在单数上,十位叠在十位上,依此类推
您可以只使用 `print(str(x) + "\t") 来获得制表符间隔的输出。如果您将在新行中获取每个值,则使用 sys.stdout.write 而不是打印。
另外这个条件elif x%i!=0
不需要,直接用else
for x in range(1,100):
if x==2:
print(x, end="\t")
else:
for i in range (2,x):
if x%i==0:
break
elif x%i!=0:
if i==(x-1):
print(x, end="\t")
这会在每个印刷品后面放置一个制表符。您可以使用 end=" " 将 space 放在印刷品后面。这样你的循环就不会在不同的行中打印每个结果。
'%4s' %素数
如果你有素数,你可以使用 '%4s' % prime
将素数右对齐 4 个字符(你可以选择其他宽度,或根据你的范围调整它):
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,
43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
width = 4
cell_format = '%'+str(width)+'s'
cells = 10
for i,p in enumerate(primes):
if i % 10 == 0:
print
print cell_format % p,
它输出:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
您的代码:
Python 2
count = 0
cells = 10
for x in range(1,100):
if x==2:
print('%4s' % x),
else:
for i in range (2,x):
if x%i==0:
break
elif x%i!=0:
if i==(x-1):
count += 1
if count % cells == 0:
print("")
print('%4s' % x),
Python 3
count = 0
cells = 10
for x in range(1, 100):
if x == 2:
print('%4s' % x, end='')
else:
for i in range(2, x):
if x % i == 0:
break
elif x % i != 0:
if i == (x - 1):
count += 1
if count % cells == 0:
print("")
print('%4s' % x, end='')
print("")