我是一个名为 Pythonista 的程序的新手。我正在做一个测验,当我尝试测试它时,我得到一个语法错误。
这是错误:
你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}]
我不熟悉 Pythonista,但是通过快速搜索,它使用了大量的空白。在这种情况下,当你的 else 应该与其对应的 if 处于同一级别时,它会缩进。以后还会出现类似的错误。
有关更多详细信息,请参见此处:http: //omz-software.com/pythonista/docs/tutorial/controlflow.html