我正在尝试打印这样的内容:
*
***
*****
*******
*********
***
***
***
用户输入头部最厚部分的宽度和杆的宽度。
到目前为止,我已经设法使用此代码进行打印:
def head(size):
n=1
while n < size+1:
astri = n * "*"
print '{:^50}'.format(astri)
n += 2
print head(x)
x = input("Please enter an odd integer for the head")
但我完全坚持如何做树干。
答案 0 :(得分:4)
这样的事情:
def tree(head, stem):
#for head
for i in xrange(1, head+1, 2):
print '{:^{}}'.format('*'*i, head)
#for trunk
for _ in xrange(3):
print '{:^{}}'.format('*'*stem, head)
...
>>> tree(10, 3)
*
***
*****
*******
*********
***
***
***
>>> tree(5, 1)
*
***
*****
*
*
*
<强>更新强>
保持stem
的宽度与head
的宽度成比例:
def tree(head, stem):
for i in xrange(1, head+1, 2):
print ('*'*i).center(head)
x = (head/2) if (head/2)%2 else (head/2)-1
for _ in xrange(stem):
print ('*'*x).center(head)
>>> tree(12, 2)
*
***
*****
*******
*********
***********
*****
*****
>>> tree(14, 4)
*
***
*****
*******
*********
***********
*************
*******
*******
*******
*******