qq_42696575 2020-11-26 10:05 采纳率: 0%
浏览 14

打印菱形自己写的代码有错误不知道这么修改,麻烦大佬看看。

打印出如下图案(菱形):
'''
   *
  ***
 *****
*******
 *****
  ***
   *
'''

原题

自己写的

a = [1,3,5,7,5,3,1]
for i in range(8):
	if  0<= i < 4 :
		print(" " * int(((8 - 2*i)/2)) + "*" * int(a[i]))
	elif 3 < i <= 7:
		print(" " * int(i-2) + "*" * int(a[i]))

结果

    *
   ***
  *****
 *******
  *****
   ***
    *
Traceback (most recent call last):
  File "23.py", line 42, in <module>
    print(" " * int(i-2) + "*" * int(a[i]))
IndexError: list index out of range

有没有大佬会解决这个小问题啊, 

  • 写回答

2条回答 默认 最新

  • 你不懂的吧 2020-11-26 11:07
    关注


    一共才7个数,下标从0 开始的 0-6 就有7个数了

     

    a = [1,3,5,7,5,3,1]
        
    for i in range(7):
        
        if  0<= i < 4 :
        
            print(" " * int(((7 - 2*i)/2)) + "*" * int(a[i]))
        
        elif 3 < i <= 6:
        
            print(" " * int(i-2) + "*" * int(a[i]))

     

    评论

报告相同问题?