Нажмите "Enter" для перехода к содержанию

Напишите программу на языке Python, которая выводит равнобедренный звездный треугольник с основанием, равным заданному

Напишите программу на языке Python, которая выводит равнобедренный звездный треугольник с основанием, равным заданному нечетному натуральному числу nn. Входные данные: одно нечетное натуральное число. Выходные данные: треугольник, соответствующий условию. Обратите внимание на использование вложенного цикла for.

Ответ:

Для решения этой задачи воспользуемся вложенным циклом for.

Сначала введем необходимое нечетное натуральное число, обозначим его как n.

Затем инициализируем переменную stars = ‘*’. Эта переменная будет содержать количество звездочек, которые будут выводиться в строке.

Далее, установим значение переменной rows = (n+1) // 2. Эта переменная определяет общее количество строк, которые будут выводиться.

Теперь начинается цикл по строкам. Итерируемся от 1 до rows и инкрементируем значение stars на две звездочки на каждом шаге.

Внутри строки, перед выводом звездочек, необходимо вывести определенное количество пробелов. Это количество пробелов будет равно (n — len(stars)) // 2. Здесь мы используем вычисление оператором нацело (//), чтобы получить целое число.

Теперь можно вывести звездочки и пробелы при помощи функции print().

Вот решение проблемы:

python
n = int(input("Введите нечетное натуральное число: "))

stars = "*"
rows = (n+1) // 2

for i in range(1, rows+1):
    print(" " * ((n - len(stars)) // 2) + stars)
    stars += ""

Пример вывода при n = 7:

   *
  *
 *
***