用改组的问题进行测验

时间:2016-11-03 11:18:49

标签: python shuffle

我想加入皇家空军,并认为这是一个很好的准备方法我应该自己编写一个关于他们飞机的测验。

我已经在测验中添加了28架飞机。 例如 - ' Typhoon FGR4在哪里?'然后我有7秒的时间思考,然后弹出选项让我回答。

每次我希望它被洗牌时,而不是以同一顺序从第一个问题到最后一个问题进行测验。

以下是pastebin Listeners

中的测验

此外,当我回答问题时,我希望控制台能够清除自己的下一个问题。

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:2)

dont repeat yourself!,创建方法,将您的问题和例外答案添加为标记

import time

def create_question(question = "", answer = "", excepted = ""):
    print (question)
    time.sleep(7)
    print(answer)

    while True:
        response = input("Hit 'a', 'b', 'c' or 'd' for your answer\n")

        if response == excepted:#CHANGE
            print ("Correct!\n")
            break
        else:
            print("Incorrect!!! Try again.")

            while True:
                response = input("Hit 'a', 'b', 'c' or 'd' for your answer\n")

                if response == excepted:#CHANGE
                    print ("Correct!\n")#CHANGE
                    stop = True
                    break
                else:
                    print("Incorrect!!! The Tornado GR4 is based at RAF Marham\n")#CHANGE
                    stop = True
                    break
            if stop:
                break

#first question               
create_question(question = "Where is the Tornado GR4 based?",
                answer = "a. RAF Marham\nb. RAF Conningsby\nc. RAF Waddington\nd. RAF Church Fenton\n",
                excepted = "a")
#second question                
create_question(question = "Where is the Typhoon FGR4 Based?",
                answer = "a. RAF Marham\nb. RAF Conningsby\nc. RAF Benson\nd. RAF Wyton\n",
                excepted = "b")

答案 1 :(得分:1)

您想要的是以任何您想要的顺序调用问题。

通常对于这样的事情,您需要在List或Array中获得答案。然后,对于该列表/数组中的每个项目,您将显示要显示的内容。如果你想改变问题的顺序,你只需要改变列表/数组。 (面向对象的编程思维方式)

但从它的外观来看,你不会将问题加载到列表/数组中。所以,上述方法无效。