-4

我是一个名为 Pythonista 的程序的新手。我正在做一个测验,当我尝试测试它时,我得到一个语法错误。

这是错误:

在此处输入图像描述

4

2 回答 2

2

else indentation在第 10 行不合适

您的代码具有适当的缩进:

def quiz():
    score  = 0
    begin = raw_input("do you want to start ?")
    if begin == "yes":
        print "A : 56"
        print "B : 48"
        print "C : 45"
        q1 = raw_input("what is 12*4")
        if q1 in ["b","B"]:
            print "congrats !! well done!1"
            score += 1
        else:
            print "sorry!! you are wrong try next one !! good luck"

        print "A : Another ice age"
        print "B : A meteor will hit the earth"
        print "C : Aliens will invade earth"
        q2 = raw_input("what will happen in 50 years?")
        if q2 in ["a","A"]:
            print "nice !! keep going!1"
            score += 1
        else:
            print "sorry!! you are wrong try next one !! good luck"

        return score
    else:
        print "ok bye"
        return 0

这只是对您的代码进行的编辑。但是我不会建议这种方法,因为您一次又一次地为这两个问题编写相同的代码。相反,我建议使用一个适当的数据结构并循环遍历它,然后它将足够动态以进行更多测验。您可以像这样使用一个字典数组-

[{"question":"what is 5*4 ?","options":[10,20,30],"answer_index":1},{"question":"what is 10*4 ?","options":[40,50,60,30],"answer_index":0}]

于 2015-10-22T18:26:19.623 回答
1

我不熟悉 Pythonista,但是通过快速搜索,它使用了大量的空白。在这种情况下,当你的 else 应该与其对应的 if 处于同一级别时,它会缩进。以后还会出现类似的错误。

有关更多详细信息,请参见此处:http: //omz-software.com/pythonista/docs/tutorial/controlflow.html

于 2015-10-22T17:47:55.290 回答