溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在python中打印菱形

發(fā)布時間:2020-07-16 09:45:34 來源:億速云 閱讀:523 作者:Leah 欄目:編程語言

本篇文章為大家展示了怎么在python中打印菱形,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

第一種

rows = int(input('請輸入菱形邊長:\n'))
row = 1
while row <= rows:
    col = 1     # 保證每次內(nèi)循環(huán)col都從1開始,打印前面空格的個數(shù)
    while col <= (rows-row):  # 這個內(nèi)層while就是單純打印空格
        print(' ', end='')  # 空格的打印不換行
        col += 1
    print(row * '* ')  # 每一行打印完空格后,接著在同一行打印星星,星星個數(shù)與行數(shù)相等,且打印完星星后print默認換行
    row += 1
 
bottom = rows-1
while bottom > 0:
    col = 1     # 保證每次內(nèi)循環(huán)col都從1開始,打印前面空格的個數(shù)
    while bottom+col <= rows:
        print(' ', end='')  # 空格的打印不換行
        col += 1
    print(bottom * '* ')  # 每一行打印完空格后,接著在同一行打印星星,星星個數(shù)與行數(shù)相等,且打印完星星后print默認換行
    bottom -= 1

輸出結(jié)果:

請輸入菱形邊長:
5
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    *

第二種

s = '*'
for i in range(1, 8, 2):
    print((s * i).center(7))
for i in reversed(range(1, 6, 2)):
    print((s * i).center(7))

輸出結(jié)果:

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

第三種

def stars(n):
    RANGE1 = [2*i+1 for i in range(n)]
    RANGE2 = [2*i+1 for i in range(n)[::-1]][1:]
    RANGE = RANGE1 + RANGE2
    RANGE_1 = [i for i in range(n)[::-1]]
    RANGE_2 = [i for i in range(n)[1:]]
    RANGE_12 = RANGE_1 + RANGE_2
    for i in range(len(RANGE)):
        print (' '*RANGE_12[i] + '*'*RANGE[i])
if __name__ ==  "__main__":
    stars(5)

輸出結(jié)果:

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

上述內(nèi)容就是怎么在python中打印菱形,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI