Практический пример Python 23
Задача:Выведите следующий узор (ромб):
* *** ***** ******* ***** *** *
Анализ программы:Сначала разделите узор на две части: первые четыре строки подчиняются одному правилу, а последние три строки — другому правилу. Используйте двойной цикл 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)
# Верхняя половина
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)
Вывод приведенного выше примера:
* *** ***** ******* ***** *** *Другие расширения
100 примеров на Python