時間:2018-10-11
概述:列印圖形
程式分析:先把圖形分成兩部分來看待,前四行一個規律,後三行一個規律,利用雙重for循環,第一層控制行,第二層控制列。 Python源代碼如下:
#當然這樣有些無恥
print('''
*
***
*****
*******
*****
***
*
''')
#列印任意高度的菱形
def diamond(h):
if h%2==0:
print('菱形的高度隻能是奇數!')
return
#計算中間位置
mid=h//2
for i in range(h):
#空格的個數
spn=abs(mid-i)
#星星的個數
stn=h-2*spn
print(' '*spn,'*'*stn,sep='')
diamond(15)
#使用str.center隻用計算星星個數
def diamond2(h):
if h%2==0:
print('菱形的高度隻能是奇數!')
return
mid=h//2
for i in range(h):
#星星的個數
stn=h-abs(2*(mid-i))
#用center
print(('*'*stn).center(h,' '))
diamond2(13)
#有些朋友不知道空格個數和星星個數怎麼算,其實很簡單。
#利用的是一次函數,把個數變化畫出一次函數的圖,然後構造一次函數
#再把它根據程式裡的變量代人就行了
'''
#原程式
from sys import stdout
for i in range(4):
for j in range(2 - i + 1):
stdout.write(' ')
for k in range(2 * i + 1):
stdout.write('*')
for i in range(3):
for j in range(i + 1):
stdout.write(' ')
for k in range(4 - 2 * i + 1):
stdout.write('*')
'''