我需要澄清 python 中的以下代码以及什么:^38
I need clarification for the following code in python and what :^38
我需要澄清 python 中的以下代码以及 :^38
中的内容
for leaf in [*range(10)]+[2]:
print(f'{"x"*(leaf*2+1):^38}')
第一行:
for leaf in [*range(10)]+[2]:
您创建 [0,1,2...,10,2]
的列表
连线
print(f'{"x"*(leaf*2+1):^38}')
你打印 x (leaf*2+1) 次,旁边有空格使所有打印的字符串长度为 38
首先,您想使用反引号 ``` 使您的代码段可读
for leaf in [*range(10)]+[2]:
print(f'{"x" + str(leaf*2+1):^38}')
那么先到代码中的issue。您的代码遍历两个列表的串联。第一个具有从 0->9 的范围对象,第二个具有数字 2。我用星号将范围变成它的元素,所以你有一个从 0->9 和数字 2 的列表。
冒号前的波浪括号中的部分是要打印的表达式。由于 (leaf*2 + 1) 是一个数字并且“x”不是一个函数(我假设)你需要使用 str()
将它变成一个字符串
冒号c后面的部分给花括号中的字符串a space 38,并在中间对齐。 Alignment in PEP-3101
我需要澄清 python 中的以下代码以及 :^38
for leaf in [*range(10)]+[2]:
print(f'{"x"*(leaf*2+1):^38}')
第一行:
for leaf in [*range(10)]+[2]:
您创建 [0,1,2...,10,2]
的列表连线
print(f'{"x"*(leaf*2+1):^38}')
你打印 x (leaf*2+1) 次,旁边有空格使所有打印的字符串长度为 38
首先,您想使用反引号 ``` 使您的代码段可读
for leaf in [*range(10)]+[2]:
print(f'{"x" + str(leaf*2+1):^38}')
那么先到代码中的issue。您的代码遍历两个列表的串联。第一个具有从 0->9 的范围对象,第二个具有数字 2。我用星号将范围变成它的元素,所以你有一个从 0->9 和数字 2 的列表。
冒号前的波浪括号中的部分是要打印的表达式。由于 (leaf*2 + 1) 是一个数字并且“x”不是一个函数(我假设)你需要使用 str()
将它变成一个字符串冒号c后面的部分给花括号中的字符串a space 38,并在中间对齐。 Alignment in PEP-3101