Помогите нарисовать треугольники с помощью "*" и цикла for

Рейтинг: -5Ответов: 2Опубликовано: 29.04.2023

Запросить у пользователя число N – ширина треугольника.

Вывести треугольник #1 с шириной N с помощью цикла for
Вывести треугольник #2 с шириной N с помощью цикла for
Вывести треугольник #3 с шириной N с помощью цикла for
Вывести треугольник #4 с шириной N с помощью цикла for

#1

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

#2

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

#3

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

#4

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

Ответы

▲ 1

Вывести треугольники в консоль можно следующим образом:

triangle = int(input('Введит ширину треугольника: '))
print('==== #1 ====')
for i in range(triangle):
    print('*' * (triangle - i))

print('==== #2 ====')
for i in range(triangle):
    print('*' * (i + 1))

print('==== #3 ====')
for i in range(triangle):
    print(f"{' ' * i}{'*' * (triangle - i)}")

print('==== #4 ====')
for i in range(triangle):
    print(f"{' ' * (triangle - (i + 1))}{'*' * (i+1)}")

В данном примере используются F-Строки

▲ 0
class drawTriangle:

def __init__(self, width):
    self.width = width

def collected(self):
    if self.width <= 0:
        print("Enter positive width of your triangle.")
    else:
        self.drawFirst()
        self.drawSecond()
        self.drawThird()
        self.drawForth()

def drawFirst(self):
    print("\nStart\n")
    mapping = 0
    for repeats in range(self.width):
        print((self.width - mapping) * "*")
        mapping += 1
    print("\nSEPARATOR\n")

def drawSecond(self):
    mapping = 1
    for repeats in range(self.width):
        print(mapping * "*")
        mapping += 1
    print("\nSEPARATOR\n")

def drawThird(self):
    mapping = 0
    for repeats in range(self.width):
        spaced = " " * mapping
        stared = (self.width - mapping) * "*"
        print(spaced + stared)
        mapping += 1
    print("\nSEPARATOR\n")

def drawForth(self):
    mapping = user - 1
    for repeats in range(self.width):
        spaced = " " * mapping
        stared = (self.width - mapping) * "*"
        print(spaced + stared)
        mapping -= 1
    print("\nEND")

    user = int(input("Enter the width of a desired triangle : = "))
    drawClass = drawTriangle(user)
    drawClass.collected()

Сделал так же с проверкой на позитивную величину. В данном примере используется объектно - ориентированное програмирование. Вводя в консоли значение оно передается в объект класса для инициализации. Далее запускается метод, который в зависимости от результата сравнения рисует треугольники или выдает предупреждение, что переданное значение отрицательное.