Ir para o conteúdo
noguche

[Resolvido] calculadora de imc

Mensagens Recomendadas

noguche

Boa tarde,

Estou a tentar executar o código abaixo utilizando a versão do Python 3.5 e me retorna sempre o erro:

Traceback (most recent call last):
 File "C:/Users/ii-ext-58-50/AppData/Local/Programs/Python/Python35/Curso/calc_imc.py", line 12, in <module>
   if sexo == "masculino":
NameError: name 'sexo' is not defined

Alguém poderia por favor me ajudar?

# Calculadora de imc, primeiro programa em python
# Autor: Diogoryu
# Data: 11/01/2007

def peso():
   print("calculo para verificacao do IMC \n")
   nome = input("Por favor digite o seu nome \n")
   print("seja bem vindo(a) " +nome+ " para o calculo do imc \n")
   h = float(input("\n insira a sua altura em centimetros separada por ponto \n"))
   peso = float(input("digite o seu peso \n"))
   sexo = input("insira o seu sexo: masculino ou feminino \n")
if sexo == "masculino":
   imc = peso / h ** 2
   print("o seu imc é " + str(imc))
   resp = input("deseja ver o seu peso ideal, digite: sim ou não ")
if resp == "sim":
   print("\n o seu peso ideal é " + str((72.2*h) - 57))
else:
   imc = peso / h ** 2
   print("o seu imc é " + str(imc))
   resp = input("deseja ver o seu peso ideal, digite: sim ou não ")
if resp == "sim":
   print("\n o seu peso ideal é " + str((62.1*h) - 44.7))

Editado por pwseo
syntax highlight

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo

noguche,

Antes de mais, e uma vez que já por várias vezes editei os teus posts para colocar os excertos de código nas respectivas tags, aqui fica um link que deverás ler com cuidado para tal não se repita: Tópico de Ajuda - Colocação de Código

E agora a questão que colocaste. Sabendo que Python é uma linguagem sensível à indentação do código e tendo em conta o código que escreveste, consegues imaginar o porquê de se queixar que sexo não está definida? (dica, vê bem onde definiste sexo -- essa definição é local ou global?)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
noguche

Boa tarde,

Em primeiro lugar peço imensas desculpas pelos erros cometidos e agradeço pwseo por toda a tua atenção.

No entanto consegui finalmente executar o código com sucesso, abaixo envio o código com as últimas alteração para a versão python 3.5

def peso():
print("calculo para verificacao do IMC \n")
nome = input("Por favor digite o seu nome \n")
print("seja bem vindo(a) " +nome+ " para o calculo do imc \n")
h = float(input("\n insira a sua altura em centimetros separada por ponto \n"))
peso = float(input("digite o seu peso \n"))
sexo = input("insira o seu sexo: masculino ou feminino \n")
if (sexo == "masculino"):
 imc = peso / h ** 2
 print("o seu imc é " + str(imc))
 resp = input("deseja ver o seu peso ideal, digite: sim ou não ")
if (resp == "sim"):
 print("\n o seu peso ideal é " + str((72.2*h) - 57))
else:
 imc = peso / h ** 2
 print("o seu imc é " + str(imc))
 resp = input("deseja ver o seu peso ideal, digite: sim ou não ")
if (resp == "sim"):
 print("\n o seu peso ideal é " + str((62.1*h) - 44.7))
peso()

Editado por noguche

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.