從零開始學習python | 實例講解如何制作Python模式程序


摘要:在本文中,我們將學習python中的各種模式程序。

Python編程語言很容易學習。易於語法實現的各種庫使其脫穎而出,這是它成為本世紀最流行的編程語言的眾多原因之一。雖然學習很容易,但訪問員通常會在建立模式程序邏輯時尋求您的方法。盡管聽起來很棘手,但使用python卻是小菜一碟。在本文中,我們將學習python中的各種模式程序。此博客涵蓋以下主題:

  • Star Pattern Programs
    • Pyramid Pattern Program
    • Half-Pyramid Pattern Program
    • Diamond Shaped Pattern Program
    • Start Pattern Program
    • Hourglass Pattern Program
  • Number Pattern Programs
    • Simple Numbers In A Pyramid
    • Pascal’s Triangle Pattern
    • Diamond Pattern Program
  • Characters Patter Programs

模式程序包含許多嵌套循環。因此,如果您不熟悉python中的循環,請確保查看有關python中的循環的詳細教程。

星型程序

以下是python中的一些星型程序。

金字塔圖案程序

def pattern(n):
      k = 2 * n - 2
      for i in range(0,n):
           for j in range(0,k):
               print(end=" ")
           k = k - 1
           for j in range(0, i+1):
                print("*", end=" ")
           print("\r")
 
pattern(5)

輸出:

反金字塔圖案程序

def pattern(n):
      k = 2*n -2
      for i in range(n,-1,-1):
           for j in range(k,0,-1):
                print(end=" ")
           k = k +1
           for j in range(0, i+1):
                print("*", end=" ")
           print("\r")
 
pattern(5)

輸出:

正確啟動模式程序

def pattern(n):
      for i in range(0, n):
           for j in range(0, i + 1):
                print("* ", end="")
           print("\r")
      for i in range(n, 0 , -1):
          for j in range(0, i + 1):
               print("* ", end="")
          print("\r")
 
pattern(5)

輸出:

左啟動模式程序

def pattern(n):
    k = 2 * n - 2
    for i in range(0, n-1):
        for j in range(0, k):
            print(end=" ")
        k = k - 2
        for j in range(0, i + 1):
            print("* ", end="")
        print("\r")
    k = -1
    for i in range(n-1,-1,-1):
        for j in range(k,-1,-1):
            print(end=" ")
        k = k + 2
        for j in range(0, i + 1):
            print("* ", end="")
        print("\r")
 
pattern(5)

輸出:

沙漏圖案程序

def pattern(n):
     k = n - 2
     for i in range(n, -1 , -1):
          for j in range(k , 0 , -1):
               print(end=" ")
          k = k + 1    
          for j in range(0, i+1):
               print("* " , end="")
          print("\r")
      k = 2 * n  - 2
      for i in range(0 , n+1):
           for j in range(0 , k):
               print(end="")
           k = k - 1
            for j in range(0, i + 1):
                 print("* ", end="")
            print("\r")
 
pattern(5)

輸出:

半金字塔圖案程序

def pattern(n):
     for i in range(0,n):
         for j in range(0, i+1):
              print("* " , end="")
         print("\r")
 
pattern(5)

輸出:

左半金字塔圖案程序

def pattern(n):
     k = 2 * n - 2
     for i in range(0, n):
          for j in range(0, k):
               print(end=" ")
          k = k - 2
          for j in range(0, i + 1):
              print("* ", end="")
          print("\r")
 
pattern(5)

輸出:

向下半金字塔圖案程序

def pattern(n):
      for i in range(n, -1, -1):
           for j in range(0, i + 1):
               print("* ", end="")
           print("\r")
 
pattern(5)

輸出:

菱形圖案程序

def pattern(n):
     k = 2 * n - 2
     for i in range(0, n):
          for j in range(0 , k):
               print(end=" ")
          k = k - 1
          for j in range(0 , i + 1 ):
               print("* ", end="")
          print("\r")
     k = n - 2
     for i in range(n , -1, -1):
          for j in range(k , 0 , -1): 
               print(end=" ")
           k = k + 1
           for j in range(0 , i + 1):
                print("* ", end="")
           print("\r")
 
pattern(5)

輸出:

鑽石星型計划

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

輸出:

數字模式程序

以下是一些帶有數字模式的Java程序。

簡單數字程序

def pattern(n):
    x = 0
    for i in range(0 , n):
        x += 1 
        for j in range(0, i + 1):
            print(x , end=" ") 
        print("\r") 
pattern(5)

輸出:

帕斯卡三角計划

def pascal(n):
    for i in range(0, n):
        for j in range(0, i + 1):
            print(function(i, j)," ", end="")
        print()
 
def function(n, k):
    res = 1
    if (k > n - k):
        k = n - k
    for i in range(0, k):
        res = res * (n - i)
        res = res // (i + 1)
 
    return res
 
pascal(7)

輸出:

半金字塔圖案與數字

def pattern(n):
     for i in range(1, n):
         for j in range(1, i + 1):
             print(j, end= " ")
         print("\r")
pattern(5)

輸出:

菱形圖案與數字

def pattern(n):
    k = 2 * n - 2
    x = 0
    for i in range(0, n):
        x += 1
        for j in range(0, k):
            print(end=" ")
        k = k - 1
        for j in range(0, i + 1):
            print(x, end=" ")
        print("\r")
    k = n - 2
    x = n + 2
    for i in range(n, -1, -1):
        x -= 1
        for j in range(k, 0, -1):
            print(end=" ")
        k = k + 1
        for j in range(0, i + 1):
            print(x, end=" ")
        print("\r")
 
pattern(5)

輸出:

降序模式程序

def pattern(n):
    for i in range(n, 0, -1):
        for j in range(1, i + 1):
            print(j, end=" ")
 
        print("\r")
 
pattern(5)

輸出:

二進制數字模式程序

def pattern(n):
    k = 2 * n - 2
    for i in range(0, n):
        for j in range(0, k):
            print(end=" ")
        k = k - 1
        for j in range(0, i + 1):
            print('10', end="")
 
        print("\r")
 
pattern(5)

輸出:

字符模式程序

這是一些帶有字符的python模式程序。

右字母三角

def pattern(n):
    x = 65
    for i in range(0, n):
        ch = chr(x)
        x += 1
        for j in range(0, i + 1):
            print(ch, end=" ")
        print("\r")
 
pattern(5)

輸出:

角色模式程序

def pattern(n):
    k = 2 * n - 2
    x = 65
    for i in range(0, n):
        for j in range(0, k):
            print(end=" ")
        k = k - 1
        for j in range(0, i + 1):
            ch = chr(x)
            print(ch, end=" ")
            x += 1
        print("\r")
pattern(7)

輸出:

K形字符程序

for i in range(7):
    for j in range(7):
        if j == 0 or i - j == 3 or i + j == 3:
            print("*", end="")
        else:
            print(end=" ")
    print()

輸出:

三角形字符圖案程序

def pattern(n):
    k = 2 * n - 2
    x = 65
    for i in range(0, n):
        ch = chr(x)
        x += 1
        for j in range(0, k):
            print(end=" ")
        k = k - 1
        for j in range(0, i + 1):
            print(ch, end=" ")
        print("\r")
pattern(5)

輸出:

菱形字符圖案程序

def pattern(n):
    k = 2 * n - 2
    for i in range(0, n):
        for j in range(0, k):
            print(end=" ")
        k = k - 1
        x = 65
        for j in range(0, i + 1):
            ch = chr(x)
            print(ch, end=" ")
            x += 1
        print("\r")
    k = n - 2
    x = 65
    for i in range(n, -1, -1):
        for j in range(k, 0, -1):
            print(end=" ")
        k = k + 1
        for j in range(0, i + 1):
            ch = chr(x)
            print(ch, end=" ")
            x += 1
        print("\r")
pattern(5)

輸出:

這使我們到了本文的結尾,在這里我們了解了如何在python的循環幫助下使用星號,數字和字符在python中實現不同的模式。我希望您對本教程中與您共享的所有內容一清二楚。

 本文分享自華為雲社區《從零開始學習python | 通過示例學習如何制作Python模式程序》,原文作者:Yuchuan 。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM