1
resposta

[Sugestão] Estruturas_Condicionais_Momento dos projetos_Parte02

##Escreva um programa que peça à pessoa usuária três números que representam os lados de um triângulo. O programa deve informar se os valores podem ser utilizados para formar um triângulo e, caso afirmativo, se ele é equilátero, isósceles ou escaleno. 

import sys

# Entrada do usuário
triangulo = [
    input('Digite o valor do lado a do triângulo: ').strip(),
    input('Digite o valor do lado b do triângulo: ').strip(),
    input('Digite o valor do lado c do triângulo: ').strip()
]

# Verifica se há letras nos valores inseridos
if any(any(char.isalpha() for char in lado) for lado in triangulo):
    print('Você não pode digitar letras, apenas números! Tente novamente.')
    sys.exit()

# Verifica se há espaços em branco
if any(' ' in lado for lado in triangulo):
    print('Você não pode digitar espaços, apenas números reais positivos! Tente novamente.')
    sys.exit()

# Converte para número (float se necessário, int se não houver ponto decimal)
for i in range(3):
    triangulo[i] = triangulo[i].replace(',', '.')  # Troca vírgula por ponto
    if '.' in triangulo[i]:  
        triangulo[i] = float(triangulo[i])
    else:
        triangulo[i] = int(triangulo[i])

# Verifica se algum lado é zero ou negativo
if any(lado <= 0 for lado in triangulo):
    print('Os lados do triângulo devem ser maiores que zero! Tente novamente.')
    sys.exit()

# Verifica a condição de existência de um triângulo
if not (triangulo[0] + triangulo[1] > triangulo[2] and
        triangulo[0] + triangulo[2] > triangulo[1] and
        triangulo[1] + triangulo[2] > triangulo[0]):
    print("Os valores informados não formam um triângulo! Tente novamente.")
    sys.exit()

# Atribuição dos lados
ladoa, ladob, ladoc = triangulo

# Identificação do tipo de triângulo
if ladoa == ladob == ladoc:
    print(f'O triângulo possui todos os lados iguais ({ladoa}, {ladob}, {ladoc}), sendo um triângulo equilátero!')
elif ladoa == ladob or ladoa == ladoc or ladob == ladoc:
    print(f'O triângulo possui dois lados iguais ({ladoa}, {ladob}, {ladoc}), sendo um triângulo isósceles!')
else:
    print(f'O triângulo possui todos os lados diferentes ({ladoa}, {ladob}, {ladoc}), sendo um triângulo escaleno!')
1 resposta

Oii, Marinaldo!

É muito legal acompanhar a sua jornada de prática, você está se saindo muito bem, parabéns!

O código está bem estruturado e você validou os dados de entrada, garantindo que apenas números sejam aceitos. Além disso, a verificação das condições do triângulo está bem estruturada.e

Conte sempre conosco aqui no fórum!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!