1. 程式人生 > 程式設計 >Python3實現列印任意寬度的菱形程式碼

Python3實現列印任意寬度的菱形程式碼

我就廢話不多說了,還是直接看程式碼吧!

width = 11  #注意寬度必須位奇數
for i in range(-width//2,width//2+1):
  prespace=i if i>0 else -i
  print(' '*prespace+'*'*(width-prespace*2))

執行結果:

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

補充知識:Python列印高度為2 * n + 1,寬度為 2 * n + 1的菱形,輸出一個由'*'組成的菱形,空白的地方用'.'表示。

很感謝百度和各類的問答平臺,CSDN在其中佔得多數的,幫我解決了一道又一道的難題,所以我來報恩來了。分享我做過的題,得到的知識點,希望可以幫助到在程式碼世界裡苦苦掙扎又不能放棄的同類人。

今天分享我昨天做過的一道題,折磨我兩天,但是大佬只用了兩分鐘。說實在的,還是讀書太少。

1.給出一個n,請小明幫忙列印高度為2 * n + 1,寬度為 2 * n + 1的菱形。每次輸入一個整型n(1 <= n <= 30)。輸出一個由'*‘組成的菱形,空白的地方用'.'表示。

大佬講用線性規劃,控制直角座標法。

如圖:

Python3實現列印任意寬度的菱形程式碼

n=int(input(""))
for i in range(2*n+1):
  for j in range(2*n+1):
    if i<=j+n and i>=j-n and i<=3*n-j and i>=n-j:
      print("*",end="")
    else:
      print(".",end="")
  print()

Python3實現列印任意寬度的菱形程式碼

2.給出一個n,列印4個邊長為n的等腰直角三角形,分別分佈在(2 * n + 1) * (2 * n + 1) 的正方形的四個角落
每次輸入一個整型n(1 <= n <= 30)。輸出一個由'.‘組成的菱形,空白的地方用'*'表示。

for i in range(2*n+1):
  for j in range(2*n+1):
    if i<=j+n and i>=j-n and i<=3*n-j and i>=n-j:
      print(".",end="")
    else:
      print("*",end="")
  print()

Python3實現列印任意寬度的菱形程式碼

以上這篇Python3實現列印任意寬度的菱形程式碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。