重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
首先畫一個菱形,看一下規律在哪里,先看下圖:
站在用戶的角度思考問題,與客戶深入溝通,找到洋縣網站設計與洋縣網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:網站制作、網站設計、企業官網、英文網站、手機端網站、網站推廣、主機域名、雅安服務器托管、企業郵箱。業務覆蓋洋縣地區。
見上圖菱形,定義尺寸為size=3,
定義X坐標為i:
A區域X坐標為i,Y坐標為size-i;
B區域X坐標為i,Y坐標為size+i;
C區域X坐標為i,Y坐標為i-size;
D區域X坐標為i,Y坐標為size*3-i
滿足1,2,3,4的情況下就輸出*,其它則輸入空格,這樣我們就得到一個菱形,代碼如下和輸出效果如下:
size?=?3?#?定義菱形尺寸
count?=?size*2+1?#?定義X,Y坐標循環范圍
#?i為橫坐標
for?i?in?range(count):
#?j為縱坐標
for?j?in?range(count):?
#?當X,Y滿足條件1和2時
if?i?=?size?and?(j?==?size-i?or?j?==?size+i):
print('*',?end='')
#?當X,Y滿足條件3和4時
elif?i??size?and?(j?==?i-size?or?j?==?size*3-i):
print('*',?end='')
#?其它情況輸入空格
else:
print('?',?end='')
#?每打印一行就換行
print()
按照你的要求編寫的Python菱形程序如下
#!/usr/bin/python?
def?diamond(n):
for?i?in?range(1,n*2+2):?
for?j?in?range(1,abs(n-i)+1):
print?('?',end='')
for?j?in?range(1,2*n-2*abs(n-i)):
print?('*',?end='')
print()
diamond(3)
#腳本里面直接這樣寫就好了import randomdef R(): print (random.randint(1,1000))for i in range(1,10): R()
Python把生成的菱形存入二維表中方法:
直接尋找規律,發現前一半的第i行分別輸出了(n+1-2*i)/2個空格和2*i-1個’*’;而后一半就是前一半輸出的倒序。
#代碼如下
n = int(input("請輸入菱形邊長整數n:"))
b = n
c = n
for i in range(1, n + 1): # 先打印正三角,由空格和*根據規律組成
print(" " * (b - 1), "*" * (2 * i - 1))
b -= 1
if i == n: # 臨界點,當打印到此,開始打印倒三角
for y in range(1, n):
print(" " * y, "*" * (2*c-3))
c -= 1
---------代碼運行結果,可自己測試
請輸入菱形邊長整數n:4
*
***
*****
*******
*****
***
*
按照你的要求編寫的輸出數字菱形的Python程序如下(abs是求絕對值的函數)
N=9
for i in range(1,N*2):
for j in range(1,abs(N-i)+1):
print(' ',end='')
for j in range(N-abs(N-i),1,-1):
print(j,end='')
for j in range(1,N-abs(N-i)+1):
print(j,end='')
print()
源代碼(注意源代碼的縮進)