Python 正方形和立方体表

Python 正方形和立方体表,python,math,Python,Math,我正在自学Python,我在买一本书时遇到了一个问题。我似乎只能正确地得到数字,但我不能得到标题。我想知道这是否与format方法有关,以使它看起来更好?这就是我到目前为止所做的: number = 0 square = 0 cube = 0 for number in range(0, 6): square = number * number cube = number * number * number print(number, square, cube) 我要

我正在自学Python,我在买一本书时遇到了一个问题。我似乎只能正确地得到数字,但我不能得到标题。我想知道这是否与
format
方法有关,以使它看起来更好?这就是我到目前为止所做的:

number = 0
square = 0
cube = 0

for number in range(0, 6):
    square = number * number
    cube = number * number * number
    print(number, square, cube)
我要回报的是:

0  0  0
1  1  1
2  4  8
3  9  27
4  16 64
5  25 125
我希望我的期望输出如下:

number    square    cube
     0         0       0
     1         1       1
     2         4       8
     3         9      27
     4        16      64
     5        25     125

您需要打印标题行。我用tabs
\t
将我们的数字和f-stings隔开,因为它们很棒(查找它们)

number=0
平方=0
立方体=0
#打印标题
打印('number\tsquare\tcube')
对于范围(0,6)中的数字:
正方形=数字*数字
立方体=数字*数字*数字
#使用f字符串打印行
打印(f'{number}\t{square}\t{cube}')
输出:

number  square  cube
0       0       0
1       1       1
2       4       8
3       9       27
4       16      64
5       25      125

唯一做不到的是将列右对齐,您必须编写一些自定义打印函数,根据该列中的每个项目确定列的适当空格宽度。老实说,这里的输出没有任何区别,我将重点关注代码的实用性,而不是打印到终端时的外观。

这里我们可以使用格式指定数字的宽度

print('number    square    cube')
for x in range(0, 6):
  print('{0:6d}\t {1:7d}\t {2:3d}'.format(x, x*x, x*x*x))
这将导致

number    square    cube
     0         0       0
     1         1       1
     2         4       8
     3         9      27
     4        16      64
     5        25     125

<> P>有一种比较简洁的方法,你可以考虑,也可以使用<代码>格式<代码>,正如你猜的那样。我认为这是值得学习的,因为它可能是有用的。结合f-stings,代码从8行增加到3行

print('number\tsquare\tcube')
for number in range(0, 6):
    print(f'{number:>6}{number**2:>8}{number**3:>6}')
这里的数字(例如:>6)不是特别的,只是为了得到您想要的输出。但是,
会强制数字在可用空间内右对齐


到目前为止,您并没有告诉它打印,而是实际打印字符串“number,square,cube”;只是为了打印出值。你可以简单地提供它。至于获得间距以使事情看起来更漂亮,是的,
格式
可以做到这一点。请浏览和,了解该网站的工作原理,并帮助您改进当前和未来的问题,这可以帮助您获得更好的答案。您必须诚实地尝试解决方案,然后问一个关于实现的具体问题。堆栈溢出不是为了替换现有的教程和文档。您需要重复有关打印格式的教程材料。