需要一个代码来允许用户随时重启我的python测验

时间:2017-10-20 16:35:08

标签: python

我想知道如何允许我的代码让用户在整个程序中随时重启测验,但我不知道如何从头开始。它最好需要相当简单。最简单的做一个if语句,如果是这样,我会把它放进去吗?我试过这个:

while True:
# main program
while True:
    answer = raw_input('Run again? (y/n): ')
    if answer in ('y', 'n'):
        break
    print 'Invalid input.'
if answer == 'y':
    continue
else:
    print 'Goodbye'
    break

1 个答案:

答案 0 :(得分:1)

将问题分解为部分是第一步

# 1. ask a question and validate the response
def ask_question(prompt,possible_choices):
    while True:  
       result = raw_input(prompt)
       if result in possible_choices:
          return result
       print "Invalid Response Please Enter One Of:",possible_choices

# 2. run a whole quiz (ask all our questions)
def do_quiz():
    answers = []
    for question_text in questions_list:
        answer = ask_question(question_text,['a','b','c','d','quit','restart')
        if answer == "restart":
           return False
           # instead of returning false we could also simply call recursively
           # return do_quiz()
        elif answer == "quit":
           print "Adios muchacho"
           sys.exit(0)
        else:
           answers.append(answer)
    return answers

# 3. play forever (or atleast until the user wants to quit...)
while True:
    results = do_quiz()
    if not results:
       print "Lets Start Over!!"
       continue
    else:
       check_answers(results)
       if raw_input("Play again?")[0].lower() == "n":
          print "Goodbye!"
          sys.exit(1)