我的目标是以表格格式打印素数,而不是每行打印一个值。到目前为止,我所有的尝试都以行或打印错误的表格告终
start = int(input("Start number: "))
end = int(input("End number: "))
if start < 0 or end < 0:
print("Start and End must be positive.")
start = int(input("Start number: "))
end = int(input("End number: "))
if end < start:
print("End must be greater than Start number: ")
start = int(input("Start number: "))
end = int(input("End number: "))
prime = True
for num in range(start,end+1):
if num > 1:
for i in range(2,num):
if num % i == 0:
break
else:
num = print(num)
我这里的那个只能逐行打印
#start number: 1
#end number: 100
# 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
您可以使用^{} 并使用generator实现一个可重用解决方案:
其他一些数字的示例:
使用
str.format
但不使用生成器的示例:这可以通过str.rjust或它的朋友来完成
首先,我们收集要打印的数字,计算其中最大的字符需要多少个字符,再加上一个字符,结果就是我们将用于rjust的数字
现在我们选择每行要打印的数量
最后,我们使用print只包含关键字的参数
end
来控制何时在同一行中打印,以及enumerate来控制我们已经打印了多少行相关问题 更多 >
编程相关推荐