fledgling 发表于 2021-12-7 16:14:32

用Python打印5行的空心等腰三角形

想要打印一个5行的空心等腰三角形,但是怎么编都不对,麻烦各位大神看看是什么问题
for i in range(1,6):
    for k in range(1,6-i):
      print(' ',end = '')
    for j in range(i*2-1):
      if i==1:
            print(' '*4,'*', end='')
      elif i==5:
            print('*'*9)
      else:
            if j==i or j == 4+i:
                print('*',end = ' ')
            else:
                print(' ',end = ' ')
    print('')

wp231957 发表于 2021-12-7 17:00:30

是这个样子吗

for i in range(1,6):
    for k in range(1,6-i):
      print(' ',end = '')
    for j in range(i*2-1):
      if j==0 or j==(i-1)*2 or i==5:
                print("*",end="")
      else:
                print(" ",end="")      

    print('')

jackz007 发表于 2021-12-7 17:13:13

for c in range(1 , 6):
      if c == 1:
            s = (5 - c) * ' ' + '*'
      elif c == 5:
            s = (2 * c - 1) * '*'
      else:
            s = (5 - c) * ' ' + '*' + ((c - 1) * 2 - 1) * ' ' + '*'
      print(s)

傻眼貓咪 发表于 2021-12-7 18:02:50

自定义行数:n = int(input()) + 4
print(" "*(n>>1) + "*" + " "*(n>>1))
for i in range((n>>1)-1):
    print(" "*((n>>1)-i-1) + "*" + " "*((2*i)+1) + "*" + " "*((n>>1)-i-1))
print("*"*n)

迪哥,是你吗? 发表于 2021-12-8 11:09:25

傻眼貓咪 发表于 2021-12-7 18:02
自定义行数:

这个代码从第16行开始,右下角会缺少一个*

傻眼貓咪 发表于 2021-12-8 11:42:21

迪哥,是你吗? 发表于 2021-12-8 11:09
这个代码从第16行开始,右下角会缺少一个*

奇数
页: [1]
查看完整版本: 用Python打印5行的空心等腰三角形