1. 程式人生 > 程式設計 >Python實現列印實心和空心菱形

Python實現列印實心和空心菱形

1.列印實心菱形

你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器,可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。

方法一:

a = int(input("請輸入菱形每條邊星星的個數:"))
b = a
c = a
for i in range(1,a + 1):  # 先列印正三角,由空格和*根據規律組成
  print(" " * (b - 1),"*" * (2 * i - 1))
  b -= 1
  if i == a: # 臨界點,當列印到此,開始列印倒三角
    for y in range(1,a):
      print(" " * y,"*" * (2*c-3))
      c -= 1

方法二:

n = int(input("輸入要列印的菱形的每個邊的元素個數:"))
list_a = [i for i in range(n)] # 生成前n行的行數列表,例如[0,1,2,3,4]
list_b = list_a[0:len(list_a) - 1:] # 生成剩餘行數列表並反轉,例如[0,3]
list_c = list_b[::-1]  # 對剩餘行數列表並反轉便於列印操作
list_d = list_a + list_c # 將兩個列表合併

print(list_d)

b = [' ' * (n - i) + '*' * (2 * i + 1) for i in list_d]  # 根據規律,列印空格" "和"*"

for line in b:
  print(line)

列印結果:

2.列印空心菱形

程式碼:

a = int(input("請輸入菱形每條邊星星的個數:"))
b = a
c = a
print(" " * (a - 1),"*")
for i in range(2,a+1): # 先列印正三角,由空格和*根據規律組成
  print(" " * (b - 1) + "*" + " " * (2 * i - 3) + "*")
  b -= 1
  if i == a: # 臨界點,當列印到此,開始列印倒三角
    for y in range(2,a):
      print(" " * y+"*"+" "*(2*c-5)+ "*" )
      c -= 1
    print(" "*a+"*")

列印結果:

以上這篇Python實現列印實心和空心菱形就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。