首先畫一個菱形,看一下規律在哪里,先看下圖:
公司主營業務:網站設計制作、成都網站制作、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出南關免費做網站回饋大家。
見上圖菱形,定義尺寸為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 中的楊輝三角形打印兩個三角形、一個菱形或三角形和菱形的組合,可以使用嵌套的 for 循環和條件語句。下面是一個示例:
在此代碼中,該函數用于為第一個三角形生成從 1 到的數字序列,為第二個三角形生成從 1 到 1 的數字序列。然后,使用兩個嵌套的 for 循環遍歷三角形的行和列,并使用公式打印楊輝三角形中的數字。打印每個三角形中的數字后,打印換行符range()nnint(bin(i-1)[2:][::-1][j-1])
回答不易望請采納
def?printStar(intNum):
s?=?"*"
spaceLength?=?intNum
blockCount?=?int(intNum/2+1)
for?i?in?range(spaceLength):
result?=?s.rjust(blockCount)
if?i?=?int(spaceLength/2):
print(result)
s?=?s[2:]
blockCount?-=?1
else:
print(result)
s?=?s+(2*"*")
blockCount?+=?1
def?oddOReven(intNum):
if?intNum%2?==?0:
print("please?input?a?odd?num?data")
else:?
printStar(intNum)
if?__name__?==?'__main__':
while?True:
try:
intNum?=?eval(input("please?input?a?odd?num?data\n"))
oddOReven(intNum)
except?BaseException?as?e:
print("Please?input?as?1/2/3...?Errorcode:%s"?%?e)
結果如下:
希望可以幫到你,望采納~
按照你的要求編寫的輸出數字菱形的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()
源代碼(注意源代碼的縮進)