Python實(shí)現(xiàn)打印金字塔圖案的方法詳解
可以使用簡單的 for 循環(huán)在 python 中打印模式。第一個(gè)外循環(huán)用于處理行數(shù), 而內(nèi)嵌套循環(huán)用于處理列數(shù)。操作打印語句,可以打印不同的數(shù)字圖案、字母圖案或星形圖案。
本文展示了一些模式。
簡單的金字塔圖案
# 演示星型模式的 Python 3.x 代碼 # 打印圖案演示功能 def pypart(n): # 在這種情況下,用于處理行數(shù) n 的外循環(huán) for i in range(0, n): # 內(nèi)部循環(huán)來處理改變 acc 的列數(shù),到外循環(huán) for j in range(0, i+1): # 打印星號 print("* ",end="") # 每行之后的結(jié)束行 print("\r") # 驅(qū)動程序代碼 n = 5 pypart(n)
輸出
*
* *
* * *
* * * *
* * * * *
方法 2: 在 Python 3 中使用 List,這可以以更簡單的方式完成
# 演示星型模式的 Python 3.x 代碼 # 打印圖案演示功能 def pypart(n): myList = [] for i in range(1,n+1): myList.append("*"*i) print("\n".join(myList)) # 驅(qū)動程序代碼 n = 5 pypart(n)
輸出
*
**
***
****
*****
方法 3: 使用遞歸
# python3代碼使用遞歸打印金字塔圖案 def pypart(n): if n==0: return else: pypart(n-1) print("* "*n) # 驅(qū)動程序代碼 n = 5 pypart(n)
輸出
*
* *
* * *
* * * *
* * * * *
方法 4: 使用 while 循環(huán)
# python3代碼使用while循環(huán)打印金字塔模式 # 輸入 n=5 i=1;j=0 # while 循環(huán)檢查條件,直到條件變?yōu)榧佟?如果為真,則進(jìn)入循環(huán)并打印模式 while(i<=n): while(j<=i-1): print("* ",end="") j+=1 # 為每一行打印下一行 print("\r") j=0;i+=1
輸出
*
* *
* * *
* * * *
* * * * *
旋轉(zhuǎn) 180 度后
# 演示星型模式的 Python 3.x 代碼 # 顯示打印圖案的功能 def pypart2(n): # 空格數(shù) k = 2*n - 2 # 處理行數(shù)的外循環(huán) for i in range(0, n): # 處理數(shù)字空間值變化的內(nèi)部循環(huán),到要求 for j in range(0, k): print(end=" ") # 每次循環(huán)后遞減 k k = k - 2 # 內(nèi)部循環(huán)來處理改變 acc 的列數(shù),到外循環(huán) for j in range(0, i+1): # 打印星號 print("* ", end="") # 每行之后的結(jié)束行 print("\r") # 驅(qū)動程序代碼 n = 5 pypart2(n)
輸出
*
* *
* * *
* * * *
* * * * *
優(yōu)化解決方案:
- 在這里,我們必須打印一個(gè)空格(高度 - 行)次,然后打印“”行次。*
- 例如:設(shè)金字塔的高度為 5
- 然后,在第 1 行上,我們打印 4 次空格(即 5-1 或 height -row)
- 然后我們打印星號 1 次(即行時(shí)間)然后換行
- 然后,在第 2 行上,我們打印空白 3 次(即 5-2 或 height -row)
- 然后我們打印star 2次(即行時(shí)間)然后換行
- 等等…。
方法:使用while循環(huán)
# python3代碼使用while循環(huán)打印金字塔模式 n=5;i=0 while(i<=n): print(" " * (n - i) +"*" * i) i+=1
輸出
*
**
***
****
*****
方法:使用for循環(huán)
# 實(shí)現(xiàn)上述方法的python3代碼 height = 5 for row in range(1, height+ 1): print(" " * (height - row) +"*" * row)
輸出
*
**
***
****
*****
打印三角
# 演示星型模式的 Python 3.x 代碼 # 演示打印圖案三角形的功能 def triangle(n): # 空格數(shù) k = n - 1 # 處理行數(shù)的外循環(huán) for i in range(0, n): # 內(nèi)部循環(huán)處理根據(jù)要求更改的數(shù)字空間值 for j in range(0, k): print(end=" ") # 每次循環(huán)后遞減 k k = k - 1 # 內(nèi)循環(huán)處理列值更改為外循環(huán) for j in range(0, i+1): # 打印星號 print("* ", end="") # 每行之后的結(jié)束行 print("\r") # 驅(qū)動程序代碼 n = 5 triangle(n)
輸出
*
* *
* * *
* * * *
* * * * *
數(shù)字模式
# 演示星型模式的 Python 3.x 代碼 # 演示數(shù)字打印模式的功能 def numpat(n): # 初始化起始編號 num = 1 # 處理行數(shù)的外循環(huán) for i in range(0, n): # 重新分配 num num = 1 # 內(nèi)循環(huán)處理列值更改為外循環(huán) for j in range(0, i+1): # 打印數(shù)字 print(num, end=" ") # 每列遞增數(shù)字 num = num + 1 # 每行之后的結(jié)束行 print("\r") # 驅(qū)動程序代碼 n = 5 numpat(n)
輸出
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
無需重新分配的數(shù)字
# 演示星型模式的 Python 3.x 代碼 # 演示數(shù)字打印模式的功能 def contnum(n): # 初始化起始數(shù)字 num = 1 # 處理行數(shù)的外循環(huán) for i in range(0, n): # 不重新分配 num # num = 1 # 內(nèi)循環(huán)處理列值更改為外循環(huán) for j in range(0, i+1): # 打印數(shù)字 print(num, end=" ") # 每列遞增數(shù)字 num = num + 1 # 每行之后的結(jié)束行 print("\r") n = 5 # 發(fā)送 5 作為參數(shù)調(diào)用函數(shù) contnum(n)
輸出
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
字符模式
# 演示星型模式的 Python 3.x 代碼 # 顯示字母打印圖案的功能 def alphapat(n): # 對應(yīng)于 'A' ASCII 值的初始化值 num = 65 # 處理行數(shù)的外循環(huán) # 5 在這種情況下 for i in range(0, n): # 內(nèi)循環(huán)處理列值更改為外循環(huán) for j in range(0, i+1): # 顯式轉(zhuǎn)換為 char ch = chr(num) # 打印字符值 print(ch, end=" ") # 遞增數(shù) num = num + 1 # 每行之后的結(jié)束行 print("\r") # 驅(qū)動程序代碼 n = 5 alphapat(n)
輸出
A
BB
CCC
DDDD
EEEE
連續(xù)字符模式
# 演示星型圖案的 Python 代碼 3.x # 顯示字母打印圖案的功能 def contalpha(n): # 對應(yīng)于 'A' ASCII 值的初始化值 num = 65 # 處理行數(shù)的外循環(huán) - for i in range(0, n): # 內(nèi)部循環(huán)來處理改變 acc 的列數(shù),到外循環(huán) for j in range(0, i+1): # 顯式轉(zhuǎn)換為 char ch = chr(num) # 打印字符值 print(ch, end=" ") # 在每一列遞增 num = num + 1 # 每行之后的結(jié)束行 print("\r") # 驅(qū)動程序代碼 n = 5 contalpha(n)
輸出:
A
B C
D E F
G H I J
K L M N O
到此這篇關(guān)于Python實(shí)現(xiàn)打印金字塔圖案的方法詳解的文章就介紹到這了,更多相關(guān)Python打印金字塔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)動態(tài)條形圖繪制的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)動態(tài)條形圖的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08pandas中.loc和.iloc以及.at和.iat的區(qū)別說明
這篇文章主要介紹了pandas中.loc和.iloc以及.at和.iat的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04Python添加進(jìn)度條tqdm進(jìn)階使用實(shí)例
這篇文章主要為大家介紹了Python添加進(jìn)度條tqdm進(jìn)階使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Android Q之氣泡彈窗的實(shí)現(xiàn)示例
這篇文章主要介紹了Android Q之氣泡彈窗的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06