以下几点怎么样:side = int(input("Please input side length of diamond: "))
for x in list(range(side)) + list(reversed(range(side-1))):
print('{:
给予:*
***
*****
*******
*********
***********
*********
*******
*****
***
*
那么它是如何工作的呢?
首先我们需要一个计数高达side的计数器,然后再返回。没有什么能阻止您将两个范围列表附加在一起,因此:list(range(3)) + list(reversed(range(3-1))
这给了你一个列表[0, 1, 2, 1, 0]
从这里开始,我们需要为每一行计算出正确的空格和星号:* needs 2 spaces 1 asterix
*** needs 1 space 3 asterisks
***** needs 0 spaces 5 asterisks
因此需要两个公式,例如对于side=3:x 3-x-1 x*2+1
0 2 1
1 1 3
2 0 5
使用Python的字符串格式,可以同时指定填充字符和填充宽度。这样就避免了使用字符串连接。
如果您使用的是Python 3.6或更高版本,则可以使用f字符串表示法:for x in list(range(side)) + list(reversed(range(side-1))):
print(f"{'':