Практический пример Python 23

Python 100例100 примеров на Python

Задача:Выведите следующий узор (ромб):

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

Анализ программы:Сначала разделите узор на две части: первые четыре строки подчиняются одному правилу, а последние три строки — другому правилу. Используйте двойной цикл 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例100 примеров на Python

Другие расширения