2013-08-17 2 views
0

저는 파이썬을 파이썬에서 시작했으며, 패스워드로 보호 된 메뉴를 만들고 싶습니다. 옵션을 입력 한 후에도 옵션을 제외한 모든 작업이 계속 표시됩니다.파이썬이 반복됩니다.

내 코드는 누구나 제발 잘못 설명해 주실 수 있습니다. 제발 내가 잘못해서 무엇이 잘못되었는지 확인할 수 있도록 여기에 모두 보관했습니다. 내가 말한 것처럼 첫 번째, 종료 또는 항목을 가져 왔지만 1 또는 2를 입력하면 if 문을 무시하고 반복합니다.

ans = True 

while ans: 

    print(""" 

    1. Shutdown 
    2. Items 

    """) 

    ans=input("Please enter a number: ") 

    if ans == "1": 
     exit() 
    elif ans == "2": 

     pa=input("Please Enter Password: ") 

     if pa == "zombiekiller": 

      print(""" 

      1. Pi password 
      2. Return To Menu 

      """) 

     else: 
       print("You Have Entered An Inccorect Password. Terminating Programm") 
       import time 
       time.sleep(1) 
       exit() 
+0

'exit'란 무엇입니까? –

+0

미안 내가 정의한 의미는 무엇입니까? 오늘 시작된 것 같이 정교한 용어로 혼란 스럽습니다. –

+1

파이썬 인터프리터 인터프리터는'exit'을 함수로 정의하지만 일반 스크립트에서는 사용할 수 없습니다 당신은'NameError' 대신에). –

답변

0

숫자가 이 아닌 1을 반환합니다. 사용자로부터 문자열을 얻으려면 항상 raw_input을 사용하십시오.

파이썬 3에서는 이전 input이 제거되었으며 이전 raw_inputinput으로 이름이 바뀌 었습니다.

+0

ohh 메신저 2.7을 사용합니다. 고맙습니다. raw_input을 대신 입력하거나 입력했지만 이제는 python 파일을 중지하고 파이썬 셸에 오류 또는 아무 것도 입력하지 않아도됩니다. –

+0

@StevenSharman : 충분한 정보를 제공하지 않습니다. 정확히 어떤 입력을주고 무엇을합니까? – Eric

+0

기다려지면 좋았지 만, 그때는 괜찮은 프로그램을 죽이고 싶다고 말하면서 고마워요. –

2

exit는 아무것도하지 않습니다. 혼자서 줄 지어서 이름을 역 참조하지만 호출하지는 않습니다. 아마 그걸 부르기로 한거야?

exit() 

성명 당신은 또한 break를 사용할 수있는 while 루프 밖으로 단계 : 당신이 시도하고 파이썬으로 입력을 해석합니다 파이썬 2.7, input를 사용하는 경우

while True: 
    print('Ending this loop') 
    break 
+0

오, 그래,하지만 고마워하지만 여전히 옵션에서 변경하지 않습니다 또는 파일을 종료하지 않습니다 –

+0

나는 이것을 줄 수 있지만 루프를 추가 wastnt awear –

+1

@ StevenSharman : 당신은 '동안 ans :'가 상단에 스크립트의 :-) –