Вывод «звездочек» на экран

Описание задачи

Данная программа должна вывести n рядов, заполненных знаком ‘*’ определенным образом. А именно: в первом ряду должно быть n «звездочек», в втором n-1, и так далее. А в последнем ряду таким образом будет одна «звездочка». Причем убывать эти «звездочки» должны слева направо. Число n вводится пользователем.

Решение задачи

  1. Считываем число и записываем его в переменную n.
  2. Используем цикл for, в котором переменная цикла i изменяется от n до 0, уменьшаясь на единицу при каждой итерации.
  3. Для вывода используем в теле цикла функцию print, в которой умножаем n-i на символ пробела ‘ ‘, а i умножаем на ‘*’.

Исходный код

Ниже дан исходный код, который осуществляет вывод «звездочек» на экран в соответствии с условиями задачи. Результаты работы программы также даны ниже.

n = int(input("Введите количество рядов: "))
for i in range(n, 0, -1):
    print((n-i) * ' ' + i * '*')

Объяснение работы программы

  1. Пользователь вводит число и оно записывается в переменную n.
  2. Переменная i цикла for изменяется в пределах от n до 0, уменьшаясь каждый раз на 1.
  3. На каждой итерации в теле цикла используется функция print, с помощью которой мы вводим символы пробела (' ') и символы «звездочек» ("*"). Чтобы выводить их нужное количество раз, мы умножаем пробел на n-i, а «звездочку» на i.
  4. Таким образом на экран выводится требуемый шаблон.

Результаты работы программы

Пример 1:
Введите количество рядов: 5
*****
 ****
  ***
   **
    *
 
Пример 2:
Введите количество рядов: 10
**********
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *