Описание задачи
Данная программа должна вывести n
рядов, заполненных знаком ‘*’ определенным образом. А именно: в первом ряду должно быть n
«звездочек», в втором n-1
, и так далее. А в последнем ряду таким образом будет одна «звездочка». Причем убывать эти «звездочки» должны слева направо. Число n
вводится пользователем.
Решение задачи
- Считываем число и записываем его в переменную
n
. - Используем цикл
for
, в котором переменная циклаi
изменяется отn
до 0, уменьшаясь на единицу при каждой итерации. - Для вывода используем в теле цикла функцию
print
, в которой умножаемn-i
на символ пробела ‘ ‘, аi
умножаем на ‘*’.
Исходный код
Ниже дан исходный код, который осуществляет вывод «звездочек» на экран в соответствии с условиями задачи. Результаты работы программы также даны ниже.
n = int(input("Введите количество рядов: ")) for i in range(n, 0, -1): print((n-i) * ' ' + i * '*')
Объяснение работы программы
- Пользователь вводит число и оно записывается в переменную
n
. - Переменная
i
циклаfor
изменяется в пределах отn
до 0, уменьшаясь каждый раз на 1. - На каждой итерации в теле цикла используется функция
print
, с помощью которой мы вводим символы пробела (' '
) и символы «звездочек» ("*"
). Чтобы выводить их нужное количество раз, мы умножаем пробел наn-i
, а «звездочку» наi
. - Таким образом на экран выводится требуемый шаблон.
Результаты работы программы
Пример 1: Введите количество рядов: 5 ***** **** *** ** * Пример 2: Введите количество рядов: 10 ********** ********* ******** ******* ****** ***** **** *** ** *