for i in range(n, 0, -1):
print((s * i).rjust(n) + s + (s * i).ljust(n))
for i in range(n + 1):
print((s * i).rjust(n) + s + (s * i).ljust(n))
print(m)
except: break
for i in range(k):
result.append(' ' * i + sign * (2 * (k - i) - 1) + ' ' * i)
for i in range(1, k):
result.append(' ' * (k - i - 1) + sign * (2 * i + 1) + ' ' * (k - i - 1))
for r in result:
print(r)
print(int(n)-2*k**2+1)
if __name__ == '__main__':
method()
print(b.center(len(c)))
for k in range(num1):
print((b * (2 * (k + 1) + 1)).center(len(c)))
print(a)
for i in range(maxLen//2+1): #打印到一颗“*”时停,注意边界
print(" "*i,end="") #前面的空格数
print(sign*(maxLen-i*2),end="") #中间的“*”数
print(" "*i) #我打印了后面的空格,是能通过的
for i in range(maxLen//2-1,-1,-1): #打印剩下的,符号递增的
print(" " * i, end="")
print(sign * (maxLen - i * 2), end="")
print(" " * i)
print(remaining)
except Exception:
python解法 非常之简单
直接把每层的数量求出来放到一个数组里面,遍历这个数组打印就可以了。
a = input().split()
# totalCount是符号的数量(一点一点的减掉) symbol是输入的符号(如*)
totalCount, symbol = int(a[0]) - 1, a[1]
# currentLevelCount是当前层符号的数量(从1,3,5递增)。symbolArray是每层符号的数量。
currentLevelCount, symbolArray = 3, [1]
# 每当可以再加一层,便进行计算。
while totalCount > currentLevelCount * 2:
totalCount = totalCount - currentLevelCount * 2
symbolArray.append(currentLevelCount)
symbolArray.insert(0, currentLevelCount)
currentLevelCount += 2
for i in symbolArray:
print(" " * ((symbolArray[0] - i) // 2) + symbol * i)
print(totalCount)