l = list("ABCD")
def to_letters(i):
return l[i]
def ask_question(i , k):
'''pass #用于定义空白函数
'''
print("第{0}题:{1}".format(i+1 , k['question']))
for x,y in enumerate(k['choice']):
print("{0}: {1}".format( to_letters(x) , y) , end=' ')
print()
#用户输入答案并判断是否正确
while True :
x = input("请输入你的答案:").strip(' ').upper() #去掉多余空格 并进行标准化
if(x == 'A' or x == 'B' or x == 'C' or x =='D'):
if x == l[k['answer']] :
return True
else : return False
else :
print("输入格式不正确,请重新输入")
def main():
question_list = [
{
'question':'宇宙,生命,事物的一切终极是',
'choice':['40','41','42','43'],
'answer':0
},
{
'question':'小宝贝今天高兴吗',
'choice':['高兴','不高兴','有点不高兴','非常不高兴'],
'answer':1
}
]
q_len = len(question_list) #总的题数
correct_num = 0 #用户正确的题目数
for i ,k in enumerate(question_list): #enumerate将一个遍历对象组合成一个索引序列
if ask_question(i , k): #判断回答是否正确
correct_num += 1
print()
print("共有{0}道题目,你共答对了{1}道题目,答题正确率为{2:.2f}%".format(q_len , correct_num , correct_num / q_len * 100))
if __name__ == '__main__':
main()
其中运用了python的基础知识,其实字符判断可以改进成chr(ord(字符)+i)来实现