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')



3 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