2017-02-20 48 views
0

我想使用Python打印模式,但我似乎無法弄清楚我做錯了什麼。如何打印使用Python一specifc字符模式?

# The Pattern I am trying to create is as follows: 
    ******* 
    ****** 
    ***** 
    **** 
    *** 
    ** 
    * 

#Using the following code: 

    base = 8 

    for rows in range(base): 
     for columns in range(7,1,-1): 
      print('*',end='') 
     print() 
+1

變化'範圍(7,1,-1)''到範圍( 7,行,-1)' – depperm

回答

7

for columns in range(7,1,-1)總是打印6次。也許你的意思是for columns in range(7,rows,-1)?然而,這是比較容易:

for i in range(7,0,-1): 
    print('*' * i) 
+0

感謝您的幫助。這個答案做了我所需要的。對不起,我是Python的新手! – BWMustang13

+0

剛剛意識到我的答案不會打印出空白行。如果你想要的話,將0改爲-1。 – BallpointBen

+0

非常聰明和靈活的解決方案 – papabiceps

0

嘗試以下操作:

for i in range(8): 
    print("*" * i) 

這將在錯誤的順序實際打印,對不起,忽略了。

for i in range(8,0,-1): 
    print("*" * i) 
+1

這將以相反的順序打印 –

+0

是的,我剛剛意識到他想要以相反的順序,而不是正常的。 –

0

使用「逆序」切片的另一個解決方案:

base = 8 
for i in range(1, base)[::-1]: 
    print('*' * i) 

輸出:

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