1
resposta

Erro no código que desenvolvi na questão 11

Na questão 11 ao testar o código que desenvolvi há um erro e quando digito os 3 lados iguais ele informa que é um triângulo escaleno.

O que pode estar errado?

lado_a = int(input('Escreva um número qualquer: '))
lado_b = int(input('Escreva mais um número qualquer: '))
lado_c = int(input('Escreva outro número: '))

if (('lado_a + lado_b') > 'lado_c') or (('lado_b + lado_c >') > 'lado_a') or (('lado_a' + 'lado_c' > 'lado_b')):
  print('Esses valores podem formar um triângulo.')
  if 'lado_a' == 'lado_b' and 'lado_b' == 'lado_c':
    print('Esses valores podem informar um triângulo do tipo equilátero.')
  elif ('lado_a' == 'lado_b') or ('lado_a' == 'lado_c') or ('lado_b' == 'lado_c'):
    print('Esses valores podem formar um triângulo do tipo Isósceles.')
  else:
      print('Esses valores podem formar um triângulo do tipo escaleno.')
else:
  print('Esses valores não podem formar um triângulo.')
1 resposta

Oioi

O erro em seu código está relacionado à forma como você está comparando os lados do triângulo. Você não deve colocar as variáveis entre aspas simples dentro dos operadores de comparação. Além disso, você deve realizar a verificação de triângulo antes de verificar o tipo de triângulo. Aqui está a versão corrigida do seu código:

lado_a = int(input('Escreva um número qualquer: '))
lado_b = int(input('Escreva mais um número qualquer: '))
lado_c = int(input('Escreva outro número: '))

if (lado_a + lado_b > lado_c) and (lado_b + lado_c > lado_a) and (lado_a + lado_c > lado_b):
    print('Esses valores podem formar um triângulo.')
    
    if lado_a == lado_b == lado_c:
        print('Esses valores formam um triângulo do tipo equilátero.')
    elif lado_a == lado_b or lado_a == lado_c or lado_b == lado_c:
        print('Esses valores formam um triângulo do tipo isósceles.')
    else:
        print('Esses valores formam um triângulo do tipo escaleno.')
else:
    print('Esses valores não podem formar um triângulo.')

Nesta versão corrigida, verificamos primeiro se os lados podem formar um triângulo usando as condições apropriadas (a soma de quaisquer dois lados deve ser maior que o terceiro). Em seguida, verificamos o tipo de triângulo se a condição de triângulo for atendida.