Python3實現列印任意寬度的菱形程式碼
阿新 • • 發佈:2020-04-13
我就廢話不多說了,還是直接看程式碼吧!
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)。輸出一個由'*‘組成的菱形,空白的地方用'.'表示。
大佬講用線性規劃,控制直角座標法。
如圖:
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()
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實現列印任意寬度的菱形程式碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。