2014-11-02 3 views
2

사용자가 답변을 입력 할 질문을하거나 (선택 가능한 답변이있는 프롬프트가 표시 될 수 있습니까?) 프로그램에 입력을 기반으로 응답을 출력하는 간단한 스크립트를 만들려고합니다. 내가 있다면(Beginners Python) 사용자 입력에 따라 if/else 문을 작성 하시겠습니까?

예를 들어, 나는 아마도 잘못된 방법으로 이것에 대해 갈거야

if prompt1='yes': 
    print('Hooray, I can!') 

else prompt1='No': 
    print('Well I did anyway!') 

elif prompt1=#an answer that wouldn't be yes or no 
    #repeat prompt1 

의 라인을 따라 뭔가있을 것

prompt1=input('Can I make this stupid thing work?') 

대답. 이것이 저를위한 학습 운동이기 때문에 최대한 서술 적으로 작성하십시오. 미리 감사드립니다!

+0

평등을 비교하고'else' 문을 사용하려면'=='를 사용하십시오. – Christian

답변

1

아주 가깝습니다. 좋은 자습서를 읽기 : 영원히

#!python3 
while True: 
    prompt1=input('Can I make this stupid thing work?').lower() 

    if prompt1 == 'yes': 
     print('Hooray, I can!') 
    elif prompt1 == 'no': 
     print('Well I did anyway!') 
    else: 
     print('Huh?') #an answer that wouldn't be yes or no 
  • while True 의지 루프 프로그램을.
  • ==을 사용하여 동일성을 테스트하십시오.
  • .lower()을 사용하면 대소 문자에 상관없이 답변을 쉽게 테스트 할 수 있습니다.
  • if/elif/elif/.../else은 테스트를위한 올바른 순서입니다.
    • raw_input

      #!python2 
      while True: 
          prompt1=raw_input('Can I make this stupid thing work?').lower() 
      
          if prompt1 == 'yes': 
           print 'Hooray, I can!' 
          elif prompt1 == 'no': 
           print 'Well I did anyway!' 
          else: 
           print 'Huh?' #an answer that wouldn't be yes or no 
      
      대신 input의 사용 :

    여기 파이썬 2 버전입니다. 파이썬 2의 input은 입력을 파이썬 코드로 해석하려고합니다.

  • print은 함수 대신 명령문입니다. ()과 함께 사용하지 마십시오.
+0

이것을 PyCharm에 복사/붙여 넣기하면 대답을 입력하려고 할 때이 오류가 발생합니다. (예 또는 아니오) –

+0

추적 (가장 최근 통화 마지막) : 파일 "C :/Users/Shawn/PycharmProjects/helloworld/Test Prograsm.py", 줄 3, prompt1 = 입력 ('내가 바보로 만들 수 있습니까? 파일 "", 줄 1, NameError : 이름 'yes'가 정의되지 않았습니다. –

+1

대신 Python 2.x를 사용해야합니다. 'print()'는 파이썬 3의 함수이므로 파이썬 3을 사용하고 있다고 가정했습니다. 파이썬 2에서'raw_input'을 사용하십시오. 파이썬 버전을 나타내는 질문 태그를 업데이트하십시오. –

1

또 다른 예로, 이번에는 기능으로.

def prompt1(): 
    answer = raw_input("Can I make this stupid thing work?").lower() 
    if answer == 'yes' or answer == 'y': 
     print "Hooray, I can!" 
    elif answer == 'no' or answer == 'n': 
     print "Well I did anyway!" 
    else: 
     print "You didn't pick yes or no, try again." 
     prompt1() 

prompt1() 
관련 문제