2017-01-24 7 views
0

저는 파이썬을 배우고 있습니다. 아직 초보자 연습을하고 있습니다 ... 그래서 사람들의 신장에 이상적인 무게를 말하고 싶습니다. 장르 고려 ... 그래서 내 코드는 다음과 같습니다Python : NameError : name 'female'이 정의되지 않았습니다.

#!/ sr/bin/python 
heigth = float(input("Enter the height of the person: ")) 
sex = input("Enter the person's gender:") 

if(sex == "male"): 
     pi = (72.7 * heigth) - 58 
elif(sex=="female"): 
     pi = (62.1 * heigth) - 44.7 
else: 
     print("Invalid gender") 

print("The ideal weight for this person is:",pi) 

그리고 오류 :

File "n13.py", line 3, in sex = input("Enter the person's gender:") File "", line 1, in NameError: name 'female' is not defined

비교에 문자열이 정의 될 왜 그냥 경우 내가 이해하지 않습니다 문자열 ??? o.O

미리 감사드립니다.

+2

난을받을 수없는 등의 동일 Python 3.x에서 같은 오류가 발생했습니다. 파이썬 2.x에서 unning? 두 버전간에'input()'이 다르기 때문에이 오류는 Python 2.x에서 발생할 수 있습니다. 파이썬 2.x를 사용하고 있다면'input()'을'raw_input()'으로 대체하십시오. – MooingRawr

+0

Python2에서 input()을 raw_input()으로 대체하십시오. – Chris

+1

또한 마지막'print()'문에서'pi'는 정의되지 않았습니다 '잘못된 성 (true gender) '이'참 '이면 –

답변

1

Python 2가 아닌 Python 2에서 코드를 실행하고 있습니다. Python 2에서 input은 Python 코드로 읽는 문자열을 계산합니다 (this question 참조).

파이썬 2를 사용하는 경우 inputraw_input으로 바꿉니다.

파이썬 3를 사용하려는 경우, 그것은 당신의 오두막을 변경하는 것이 좋습니다 :

#!/usr/bin/python3 
0

당신은 당신이 raw_input을 사용하는, 그래서이 입력 너무 인스턴트 파이썬 3에서 작동하지 않는 것이 !

heigth = float(input("Enter the height of the person: ")) 
sex = raw_input("Enter the person's gender:") 

if(sex == "male"): 
     pi = (72.7 * heigth) - 58 
elif(sex=="female"): 
     pi = (62.1 * heigth) - 44.7 
else: 
     print("Invalid gender") 

print("The ideal weight for this person is:",pi) 

당신이 당신의 컴퓨터에 파이썬 3가있는 경우 내가 사용하는 것이 좋습니다 : 완벽하게 작동 #을은/usr/빈/python3 다음 코드는 당신이

관련 문제