如何在python中使用层和基创建圣诞树

2024-10-05 10:12:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中创建一个圣诞树,带有图层和基色,无需随机打印圣诞树
例如,如果输入数字3,程序应打印: 我想这样输出

       *
      ***
       *
      ***
     *****
       *
      ***
     *****
    *******
       |
    ===V===

代码:

 a = int(input(''))
for i in range(a, 0, -1):
   for j in range(0, 5):
       print(end=' ')
   for f in range(0, i):
       print(end=' ')
   for h in range(0, 2 * (a - i) + 1):
       print('*', end='')
print()
b = a + 1
for i in range(b, 0, -1):
   for j in range(0, 2):
       print(end=' ')
   for f in range(0, i):
       print(end=' ')
   for h in range(0, (2 * (b - i) + 1)):
       print('*', end='')
print()
c = a + 2
for i in range(c, 0, -1):
   for j in range(0, 1):
       print(end=' ')
   for f in range(0, i):
       print(end=' ')
   for h in range(0, (2 * (c - i) + 1)):
       print('*', end='')
print()
d = a + 3
for i in range(d, 0, -1):
   for f in range(0, i):
       print(end=' ')
   for h in range(0, (2 * (d - i) + 1)):
       print('*', end='')
print()

它不起作用,因为当我运行这个代码程序时

             *
            ***
           *****
           *
          ***
         *****
        *******
           *
          ***
         *****
        *******
       *********
           *
          ***
         *****
        *******
       *********
      ***********

我不知道你们为什么能帮我? [1] :https://i.stack.imgur.com/lMtMB.png


Tags: 代码inhttps程序图层forinputstack
1条回答
网友
1楼 · 发布于 2024-10-05 10:12:46

试试这个:

n = int(input())
addSpace = 4
for i in range(1, n+1):
    left = " "*(n-i+addSpace)
    for j in range(i+1):
        print(left+" "*(i-j)+"*"*(2*j+1))
print(" "*(n+addSpace) + "|")
print(" "*addSpace + "="*n + "V" + "="*n)

相关问题 更多 >

    热门问题