Python 使用(x,x*x,x*x*x)打印格式良好的表格
我运行了下面的代码,得到了语法错误。我不知道怎么了Python 使用(x,x*x,x*x*x)打印格式良好的表格,python,format,Python,Format,我运行了下面的代码,得到了语法错误。我不知道怎么了 for x in range(1,11): print '{0:2d} {1:3d}{2:4d}'.format(x), (x*x), (x*x*x) 您需要格式的右括号和右括号: for x in range(1,11): print '{0:2d} {1:3d}{2:4d}'.format(x, x*x, x*x*x) 你的代码 print '{0:2d} {1:3d}{2:4d}'.format(x), (x*x),
for x in range(1,11):
print '{0:2d} {1:3d}{2:4d}'.format(x), (x*x), (x*x*x)
您需要
格式的右括号和右括号
:
for x in range(1,11):
print '{0:2d} {1:3d}{2:4d}'.format(x, x*x, x*x*x)
你的代码
print '{0:2d} {1:3d}{2:4d}'.format(x), (x*x), (x*x*x)
实际上相当于:
print ('{0:2d} {1:3d}{2:4d}'.format(x)), (x*x), (x*x*x)
因此,您只将一个值传递给格式字符串(即仅x
),而格式字符串预期为3
>>> '{}{}{}'.format(1)
Traceback (most recent call last):
File "<pyshell#75>", line 1, in <module>
'{}{}{}'.format(1)
IndexError: tuple index out of range
它必须是索引器:
>>> for x in range(1,11):
... print '{0:2d} {1:3d}{2:4d}'.format(x), (x*x), (x*x*x)
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
IndexError: tuple index out of range
如果参数传递不正确,请尝试(如果print是函数):
这就是你想要的:
print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)
format()需要3个值,与格式化字符串的方式相同我不需要。我得到了一个
索引器
。如果您在这里真的得到了一个语法错误
,那么您必须使用Python 3,并且print()
是一个函数。也就是说,除了索引器
之外,您的代码还将引发。建议如下:
>>> from __future__ import print_function
>>> for x in range(1,11):
... print '{0:2d} {1:3d}{2:4d}'.format(x, x*x, x*x*x)
File "<stdin>", line 2
print '{0:2d} {1:3d}{2:4d}'.format(x, x*x, x*x*x)
^
SyntaxError: invalid syntax
>>> for x in range(1,11):
... print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
...
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)