我需要知道如何生成一个数字序列,这些数字 在行(6 行) 和 列(7 行) 中以设置的字段宽度(2)和空间(1) _右对齐_。
First I have to ask the user for an input number "n"
(with requirements -6 < n < 2
) and then print "n to n+6"
in the first column, "n+7 to n+13"
在下一栏中等等。
我从以下代码中获得了输入/输出,但不知道如何生成行和列(或指定字段宽度):
n = int(input("Enter the start number: "))
if n>-6 and n<2:
for x in range(n, n+41):
print(n, end=" ")
n = n+1
我一直在尝试在这个 for 循环中使用 for 循环来完成它,但无法弄清楚。任何帮助将不胜感激 - 在此先感谢您!
原文由 Josh Alexandre 发布,翻译遵循 CC BY-SA 4.0 许可协议
最高数只能有两位所以你只需要右对齐2,使用第一个循环的步长6并从第一个开始从每个x开始内循环,我们还需要在n等于-5时捕捉,
38
步长为 6 总是给我们 7 列和六行,除非 n 是 -5 那么我们需要使用 37 所以减去(n < -4)
当 n 为 38 -> 37 -5 或者什么都不带走:将它放在函数 pr_right 中并从 -5 运行到 1:
还有其他更简单的方法,但我想这是某种学习练习。
如果实际上是六行七列就更简单了:
如果我们通过另一个 pr_right 函数输出运行它: