Python 练习实例23

Python 100例 Python 100例

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

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

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

程序源代码:

实例

#!/usr/bin/python # -*- coding: UTF-8 -*- 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('')

实例(Python3)

def print_diamond(rows):
    # 上半部分
    for i in range(1, rows, 2):
        spaces = " " * ((rows - i) // 2)
        stars = "*" * i
        print(spaces + stars)

    # 下半部分
    for i in range(rows, 0, -2):
        spaces = " " * ((rows - i) // 2)
        stars = "*" * i
        print(spaces + stars)

# 设置行数,可以根据需要调整
rows = 7
print_diamond(rows)

以上实例输出结果为:

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

Python 100例 Python 100例