Ajude nosso projeto a se manter online, faça um PIX de qualquer valor:
programacao.progressiva@gmail.com

Curso de Python - Triângulo Equilatero, Isósceles e Escaleno

"
Faça um Programa que peça os 3 lados de um triângulo. O programa deverá informar se os valores podem ser um triângulo. Indique, caso os lados formem um triângulo, se o mesmo é: equilátero, isósceles ou escaleno.

  • Sabemos que:
  • Três lados formam um triângulo quando a soma de quaisquer dois lados for maior que o terceiro;
  • Triângulo Equilátero: três lados iguais;
  • Triângulo Isósceles: quaisquer dois lados iguais;
  • Triângulo Escaleno: três lados diferentes;
"


Código comentado - Curso de Python

Vamos receber os três lados do triângulo e armazenar nas variáveis a, b e c.

O primeiro teste que fazemos é para saber se a soma de quaisquer dois lados é menor que o terceiro lado. Se for, esses três valores não formam um triângulo e acabou o programa aí, precisa nem testar se é equilátero, isósceles e escaleno.

Se a soma de dois lados quaisquer for maior que o terceiro lado, ok, é triângulo e vamos pro elif.

Agora, vamos testar se é equilátero, para isso comparamos o lado a com o b e depois o lado a com o lado c.

Note que não precisamos comparar os lados b e c, pois se a é igual a b E TAMBÉM (operador lógico and) a é igual a c, então o lado b vai ser automaticamente igual ao lado c.
Se forem todos iguais, diz que é equilátero e acabou aí.

Se não for equilátero, cai no próximo elif.
Lá vamos testar se ele tem dois lados iguais: a==b ou a==c ou b==c (notem o OU, que é o operador lógico or).
Se alguma dessas comparações retornar verdadeiro, o triângulo é isósceles e acaba aí.

Porém, se não for isósceles, cai no else final.
Pois se não é equilátero nem isósceles, e é um triângulo, tem de ser escaleno.

    a = float(input('Primeiro lado: '))
    b = float(input('Segundo  lado: '))
    c = float(input('Terceiro lado: '))
    
    # Testando se é triângulo
    if (a + b < c) or (a + c < b) or (b + c < a):
        print('Nao é um triangulo')
    elif (a == b) and (a == c) :
        print('Equilatero')
    elif (a==b) or (a==c) or (b==c):
        print('Isósceles')
    else:
        print('Escaleno')



4 comentários:

  1. lado1 = int(input("Digite : "))
    lado2 = int(input("Digite : "))
    lado3 = int(input("Digite : "))

    if lado1 == lado2 and lado3 < lado1:
    print("É um Triângulo Isósceles")
    print("Existe dois lados iguais e um menor.")
    elif lado2 == lado3 and lado1 < lado2:
    print("É um Triângulo Isósceles")
    print("Existe dois lados iguais e um menor.")
    elif lado3 == lado1 and lado2 < lado1:
    print("É um Triângulo Isósceles")
    print("Existe dois lados iguais e um menor.")
    elif lado1 == lado2 and lado3:
    print("É um triângulo Equilátero")
    print("Todos os lados são iguais")
    else:
    print("É um triangulo Escaleno")
    print("Todos os lados são diferentes")

    ResponderExcluir
  2. r1 = float(input('\033[1;31mPrimeira reta:\033[m '))
    r2 = float(input('\033[1;31mSegunda reta:\033[m '))
    r3 = float(input('\033[1;31mTerceira reta:\033[m '))
    if r1 < r2 + r3 and r2 < r1 + r3 and r3 < r1 + r2:
    print('Os segmentos acima formam um triângulo ',end='')
    if r1 == r2 == r3:
    print('EQUILÁTERO')
    elif r1 != r2 != r3 != r1:
    print('ESCALENO')
    else:
    print('ISÓSCELES')
    else:
    print('Os segmentos acima não podem formar um triângulo.')

    ResponderExcluir
  3. a = float(input('Digite o primeiro lado: '))
    b = float(input('Digite o segundo lado: '))
    c = float(input('Digite o segundo lado: '))
    positivo = True
    if a <= 0 or b <= 0 or c <= 0:
    positivo = False
    cond_exist = False
    if positivo:
    if abs(b - c) <= a <= b + c:
    if abs(c - a) <= b <= c + a:
    if abs(a - b) <= c <= a + b:
    cond_exist = True
    if not positivo:
    print('Digite apenas valores positivos!')
    if positivo and not cond_exist:
    print('Os lados informados não podem formar um triângulo!')
    triangulo_correto = False
    equilatero = False
    isosceles = False
    escaleno = False
    if positivo and cond_exist:
    triangulo_correto = True
    if triangulo_correto:
    if a == b == c:
    equilatero = True
    elif a == b != c or a == c != b or b == c != a:
    isosceles = True
    elif a != b != c:
    escaleno = True
    triangulo = 'Equilátero'
    if triangulo_correto:
    if isosceles:
    triangulo = 'Isósceles'
    elif escaleno:
    triangulo = 'Escaleno'
    if triangulo_correto:
    print('\nOs lados podem formar um triângulo.')
    print('O triângulo é: ' + triangulo + '.')

    ResponderExcluir