本文將介紹如何使用Python編寫程序輸入行數列印出符合要求的菱形。
一、實現思路
要列印出符合要求的菱形,我們可以先想一下如何列印一個等腰三角形,再將其左右翻轉並拼接在一起。因為菱形的上半部分是一個等腰三角形,下半部分也是一個等腰三角形,只是方向相反。
二、等腰三角形的列印
我們可以從第一行開始,每一行的星號數量依次遞增。為了實現這個過程,我們可以使用兩個 for 循環來完成。
def print_triangle(n):
for i in range(1, n + 1):
for j in range(1, n - i + 1):
print(" ", end="")
for j in range(1, 2 * i):
print("*", end="")
print() # 換行
這段程序依次輸出 n 行,每行星號數依次遞增。其中第一個 for 循環用來控制行數,第二個 for 循環用來控制每行的星號數量。在第二個 for 循環中,我們使用了 end=”” 來避免每次輸出後自動換行,以便在同一行輸出多個星號。
三、菱形的列印
現在我們已經知道了如何列印一個等腰三角形,那麼如何列印符合要求的菱形呢?我們可以先列印出菱形上半部分的等腰三角形,然後再將其左右翻轉並拼接在一起。
def print_diamond(n):
# 列印上半部分
for i in range(1, n + 1):
for j in range(1, n - i + 1):
print(" ", end="")
for j in range(1, 2 * i):
print("*", end="")
print() # 換行
# 列印下半部分
for i in range(n - 1, 0, -1):
for j in range(1, n - i + 1):
print(" ", end="")
for j in range(1, 2 * i):
print("*", end="")
print() # 換行
這段程序先列印上半部分的等腰三角形,然後從第 n – 1 行開始,依次逆序列印下半部分。我們可以發現,下半部分的列印跟上半部分非常相似,只需要將第一個 for 循環改為倒序即可。
四、完整代碼
def print_triangle(n):
for i in range(1, n + 1):
for j in range(1, n - i + 1):
print(" ", end="")
for j in range(1, 2 * i):
print("*", end="")
print()
def print_diamond(n):
# 列印上半部分
for i in range(1, n + 1):
for j in range(1, n - i + 1):
print(" ", end="")
for j in range(1, 2 * i):
print("*", end="")
print()
# 列印下半部分
for i in range(n - 1, 0, -1):
for j in range(1, n - i + 1):
print(" ", end="")
for j in range(1, 2 * i):
print("*", end="")
print()
n = int(input("請輸入行數:"))
print_diamond(n)
以上就是如何使用 Python 輸入行數列印出符合要求的菱形的全過程,通過對等腰三角形的學習和拼接,我們順利實現了一個完整的列印菱形的代碼。希望能對大家有所幫助。
原創文章,作者:QKDVY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/373818.html