题解 |
超级圣诞树
http://www.nowcoder.com/practice/470d26c9a73e4e17be8cc45cac843423
这题挺难的
def getArr(n):
if n <= 1:
return [[' ',' ','*',' ',' ',' '],[' ','*',' ','*',' ',' '],['*',' ','*',' ','*',' ']]
else:
arr = getArr(n - 1)
arr1 = []
for i in range(1, 3):
for j in range(len(arr)):
arr1.append([' ' for k in range((2 - i) * 3 * 2 ** (n - 2))] + arr[j] * i +\
[' ' for k in range((2 - i) * 3 * 2 ** (n - 2))])
return arr1
n = int(input())
arr = getArr(n)
for i in arr:
print(''.join(i))
for i in range(n):
print(" " * (3 * 2 ** (n - 1) - 1) + '*')