当前位置: 源码素材网 » Python教程 » 详情页

Python 打印出菱形图案

  •   时间: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('*')
    print
for i in range(3):
    for j in range(i + 1):
        stdout.write(' ')
    for k in range(4 - 2 * i + 1):
        stdout.write('*')
    print
'''

    相关声明:

      若“Python 打印出菱形图案”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。