37,718
社区成员
发帖
与我相关
我的任务
分享
num_layer_input=9
num_layer = 9
def print_char(line_no, num_layer=num_layer_input):
#print heading space
line_str = " " * (num_layer-line_no-1)
# print other character
line_str += "> " * (line_no+1)
print(line_str)
接下来就需要决定打印多少行了,传给print_char的参数应该是这样的一个列表
[0, 1, .., num_layer-2 , num_layer-1, num_layer-2,...,1,0]
所以最直接的方法是
for i in range(0,num_layer):
print_char(i)
for i in range(num_layer-2,-1,-1):
print_char(i)
symbol = '>'
layer = 9
result = []
for i in range(layer,0,-1):
line = ' '*(layer-i) + (symbol+' '*7)*i
result.append(line)
if i != layer:
result.insert( 0, line)
symbol = '>'
layer = 9
result = []
for i in range(level,0,-1):
line = ' '*(level-i) + (symbol+' '*7)*i
result.append(line)
if i != level:
result.insert( 0, line)
print('\n'.join(result))