时间:-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('*')
'''