Python 入门经典100实例:实例23 菱形

 Pala   2017-10-14 15:00   224 人阅读  0 条评论

题目:打印出如下图案(菱形):

   *
  ***
 *****
*******
 *****
  ***
   *

程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

程序源代码:

第一种方法:

j = 1
k =4
print " " * k + "*" * j +" " * k
for i in range(6):
    if i < 3:
        j +=2
        k -=1
        print " " * k + "*" * j +" " * k
    else:
        j -=2
        k +=1
        print " " * k + "*" * j +" " * k

输出结果:

    *    
   ***   
  *****  
 ******* 
  *****  
   ***   
    *

第二种方法:

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

输出结果:

    *    
   ***   
  *****  
 ******* 
  *****  
   ***   
    *


本文地址:http://chenxm.cc/post/420.html
版权声明:本文为原创文章,版权归 Pala 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?