• Matéria: Informática
  • Autor: n3o
  • Perguntado 4 anos atrás

crie um algoritmo que solicite 3 valores que representarão os lados de um triângulo. Considere que não importa a ordem que serão fornecidos os valores, podendo ser fornecido primeiro a hipotenusa e depois os catetos, ou primeiro os catetos e depois a hipotenusa, etc. Crie também uma função que recebe o vetor e retorna se os lados informados formam um triângulo retângulo. Você pode utilizar o teorema de Pitágoras para auxiliar na resolução: hiponusa2 = cateto12 + cateto22.​

Respostas

respondido por: matheussilvacorp
1

Resposta:

import math

#criando a função

def trianret(vet):

   if vet[0] > vet[1] and vet[0] > vet[2]:

       hip = vet[0]

       cat1 = vet[1]

       cat2 = vet[2]

   elif vet[1] > vet[0] and vet[1] > vet[2]:

       hip = vet[1]

       cat1 = vet[0]

       cat2 = vet[2]

   else:

       hip = vet[2]

       cat1 = vet[0]

       cat2 = vet[1]

   print hip, cat1, cat2

   if hip == math.sqrt(cat1**2 + cat2**2):

       return 1

   else:

       return 0

#Fim da função

vet = [0]*3

for i in range(3):

   vet[i] = input('Digite um valor: ')

if trianret(vet) == 1:

   print 'É retangulo'

else:

   print 'Não é retangulo'


n3o: obrigado, apenas tive que ajustar pra python 3.8 mas deu certo :)
Dev13: Tu poderia ordenar com a lista, assim poderia se livrar das condições ali acima.
respondido por: Dev13
1

dados = sorted([float(input(f"{i+1} dado: ")) for i in range(3)])

if(dados[2]**2 == (dados[1]**2 + dados[0]**2)):

print("Retangulo")

else:

print("Não retangulo")

Perguntas similares