python 使用while循環(huán)輸出*組成的菱形實(shí)例
一,python輸出*組成的菱形(實(shí)心):
python代碼:
x = int(input(’請(qǐng)輸入最長(zhǎng)行的*的個(gè)數(shù):’))y = int(input(’請(qǐng)輸入每個(gè)*之間的間隔:’))i = 1while i<= x: #第一個(gè)while組成菱形上半部 j = 1 k = 1 while k <= x-i: print(’ ’*y,end = ’’) #每一行最左邊到第一個(gè)*之間的空格 k += 1 while j <= i: print(’*’, end=’ ’*(2*y-1)) #每一行*的個(gè)數(shù)和*與*之間的間隔,要計(jì)算好才能上下對(duì)齊 j += 1 print(’n’) i += 1while i <= 2*x-1: #第二個(gè)while組成菱形下半部 a = x+1 b = 2*x-1 while a <= i: print(’ ’*y, end=’’) a += 1 while b >= i: print(’*’, end=’ ’*(2*y-1)) b -= 1 print(’n’) i += 1
二,python輸出*組成的菱形(空心):
代碼
x = int(input(’請(qǐng)輸入最長(zhǎng)行的*的個(gè)數(shù):’))y = int(input(’請(qǐng)輸入每個(gè)*之間的間隔:’))i = 1#前兩個(gè)while組成上半部while i <= 1: #菱形上頂點(diǎn)單獨(dú)列出 k = 1 #寫出最左邊到*的空格和第一個(gè)* while k <= x - i: print(’ ’ * y, end=’’) k += 1 print(’*’) print(’n’) i += 1while i<= x: k = 1 j = 1 while k <= x-i: #這個(gè)while寫出最左邊到左邊*的空格數(shù) print(’ ’*y,end = ’’) k += 1 print(’*’, end=’ ’*(2*y-1)) #這寫出左邊*,*相當(dāng)于占一個(gè)空格,所以*后面的空格少一個(gè),才能上下對(duì)齊 while j <= i-2: #這個(gè)while寫出左邊*到右邊*的空格數(shù) print(’ ’*2*y,end=’’) j += 1 print(’*’) #這寫出右邊* print(’n’) i += 1#后兩個(gè)while組成下半部while i <= 2*x-2: k = x+1 j = 2*x-2 while k <= i: print(’ ’*y, end=’’) k += 1 print(’*’, end=’ ’*(2*y-1)) while j-1 >= i: print(’ ’ *2* y, end=’’) j -= 1 print(’*’,end=’’) print(’n’) i += 1while i <= 2*x-1: #菱形下頂點(diǎn)單獨(dú)列出 k = 2 * x - 1 while k >= i+2 - x: print(’ ’*y, end=’’) k -= 1 print(’*’) print(’n’) i += 1
補(bǔ)充知識(shí):Python -- 使用循環(huán)語(yǔ)句永 “ * ” 輸出一個(gè)對(duì)線菱形
#使用循環(huán)語(yǔ)句輸出一個(gè)對(duì)線菱形layer = int(input('請(qǐng)輸入要打印的層數(shù):')) #保證輸入的數(shù)字是奇數(shù)while layer % 2 == 0:#偶數(shù)layer = int(input('輸入層數(shù),必須是一個(gè)奇數(shù):'))#上半部分for x in range(1, layer // 2 + 2):# 先打印空格space_num = layer - xfor y in range(1, space_num + 1):print(' ', end='')# 在打印*star_num = 2 * x - 1for y in range(1, star_num + 1):if y == 1 or y == star_num or x == layer // 2 + 1 or y == star_num // 2 + 1:print('*', end='')else:print(' ', end='')# 換行print('') #下半部分for x in range(layer // 2, 0, -1):# 先打印空格space_num = layer - xfor y in range(1, space_num + 1): print(' ', end='')# 在打印*star_num = 2 * x - 1for y in range(1, star_num + 1):if y == 1 or y == star_num or x == layer // 2 + 1 or y == star_num // 2 + 1:print('*', end='')else:print(' ', end='')# 換行print('')
輸出舉例:
以上這篇python 使用while循環(huán)輸出*組成的菱形實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaScript數(shù)據(jù)類型對(duì)函數(shù)式編程的影響示例解析2. vue實(shí)現(xiàn)將自己網(wǎng)站(h5鏈接)分享到微信中形成小卡片的超詳細(xì)教程3. 使用css實(shí)現(xiàn)全兼容tooltip提示框4. div的offsetLeft與style.left區(qū)別5. html清除浮動(dòng)的6種方法示例6. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)7. CSS代碼檢查工具stylelint的使用方法詳解8. 不要在HTML中濫用div9. 利用CSS3新特性創(chuàng)建透明邊框三角10. 詳解CSS偽元素的妙用單標(biāo)簽之美
