2013-06-09 3 views
-7

이것은 내가 작성한 것입니다. 제 코드에 어떤 문제가 있는지보십시오. 저는 초보자입니다. 파이썬입니다.python에서 raw_input == something을 확인하려면 어떻게해야합니까?

#!/usr/bin/python 

input=int(raw_input("Write exit here: ")) 

if input==exit: 
    print "Exiting!" 
else: 
    print "Not exiting!" 
+1

먼저 설명서를 읽어야합니다. – eLRuLL

+2

'input'과 같은 내장 함수의 이름을 사용하는 것은 나쁜 습관입니다. – dansalmo

답변

7

당신은 문자열 "exit"에 대한 평등을 테스트 할, 그래서 당신을 혼동 수도 기능 exit와 함께 int

text = raw_input("Write exit here: ") 

if text == "exit": 
    print "Exiting!" 
else: 
    print "Not exiting!" 

input==exit 비교 input로 변환하지 않습니다. input == Exit을 시도하면 실행되지 않습니다.

+0

'int (raw_input)'하고'raw_input' 만 필요합니다. – eLRuLL

+0

+1하지만'exit' 함수 대신에''exit''와 비교해야합니다 (코드에서 수정했습니다) , 그러나 언급하지 않았다). – abarnert

+0

@abarnert는 그 것을 언급했다 – jamylak

2

파이썬은 스크립팅 언어입니다. 파이썬을 대화식으로 (그냥 python을 입력하여) 실행하거나 유휴, 에릭, 코모도 (등 ...)와 같은 디버거를 실행하고 재생하기가 쉽습니다. 여기에 내가 무엇을 작동하고 어떤 것은하지 않습니다보고 몇 가지 조합을 시도 : ....

>>> raw_input("write exit here: ") 
write exit here: exit 
'exit' 
>>> my_input = raw_input("write exit here: ") 
write exit here: exit 
>>> my_input 
'exit' 
>>> my_input = int(raw_input("wite exit here: ")) 
wite exit here: exit 

Traceback (most recent call last): 
    File "<pyshell#11>", line 1, in <module> 
    my_input = int(raw_input("wite exit here: ")) 
ValueError: invalid literal for int() with base 10: 'exit' 

>>> my_input == exit 
False 
>>> type(exit) 
<class 'site.Quitter'> 
>>> my_input == "exit" 
True 

을하지만 내 말을하지 않는 문제의 작은 부분으로 통역 및 실험을 열고 당신은 '' 시간이 없어서도 작동하도록하십시오.

+0

나는이 팁을 +5 할 수 있으면 좋겠다. – dansalmo

0

다음은 삼항 연산자를 사용하는 다른 방법입니다. 코드 복잡성을 줄이는이 파이썬 구문과 관용구를 배우는 것이 유용합니다. 코드를 설명하는 데 도움이되지 않는 한 입력에 이름을 지정할 필요도 없습니다.

print "Exiting!" if raw_input("Write exit here: ") == "exit" else "Not exiting!" 
+1

삼항 연산자없이 똑같은 이점을 얻을 수 있습니다 :'raw_input ("Write exit here :") == "exit":'. – abarnert

+0

실제로 참. 그것을 놓쳤습니다. – dansalmo

관련 문제