猫史档案馆


【Python作品分享】考试系统【作业帖】

用户:DZ6528DZ6528查看:0 回复:0 评论:0 创建时间:2021-10-31T01:01:59


【作品展示】

center_image

 

【作品介绍】

持续更新中

 

【作品源代码】

import easygui
import time
question1 = ('1.已知点P在圆 (X-5)的平方—(Y-5)的平方= 16上,点A(4, 0),B(0, 2),则 ' + '\n' + 'A.点P到直线AB的距离小于10' +
             '\n' + 'B.点P到直线AB的距离大于2' + '\n' + 'C.当∠PBA最小时,| PB |= 2' + '\n' + 'D.当∠PBA最大时,| PB |= 2')
question2 = (((((('2.2021年4月, 我国自主研发的空间站“天和”核心成功发射井入轨运行,若核心舱绕地球的运行可视为匀速圆周运动, 已知引力常量, 由下列物理量能计算出地球质量的是' +
             '\n') + 'A.核心舱的质量和绕地半径B.核心舱的质量和绕地周期') + '\n') + 'C.核心舱的绕地角速度和绕地周期') + '\n') + 'D.核心舱的绕地线速度和绕地半径')
question3 = (((((('3. 火星大气中含有大量,一种有参加反应的新型全固态电池有望为火星探测器供电。该电池以金属钠为负极,碳纳米管为正极,放电时' +
             '\n') + 'A.负极上发生还原反应B.在正极上得电子') + '\n') + 'C.阳离子由正极移向负极') + '\n') + 'D.将电能转化为化学能')
question4 = ("4. 设为阿伏加德罗常数的值。下列说法正确的是"+"\n"+"A.含有键的数目为3NA"+"\n" +
             "B的盐酸含有阴离子总数为2NA"+"\n"+"C.与混合后的分子数目为1NA"+"\n"+"D.与足量反应生成的分子数目为1NA")
question5 = ("5.“葛(葛藤)之覃兮,施与中谷(山谷),维叶萋萋。黄鸟于飞,集于灌木,其鸣喈喈”(节选自《诗经·葛覃》)。诗句中描写的美丽景象构成了一个(    )" +
             "\n"+"A.黄鸟种群"+"\n"+"B.生物群落"+"\n"+"C.自然生态系统"+"\n"+"D.农业生态系统")
question6 = ("6. .设向量a=(1,-1),b=(m+1,2m-4),若a垂直于b,则m=______." +
             "\n" + "A.2"+"\n"+"B.9"+"\n"+"C.5"+"\n"+"D.4")
question7 = ("7.种子贮藏中需要控制呼吸作用以减少有机物的消耗。若作物种子呼吸作用所利用的物质是淀粉分解产生的葡萄糖,下列关于种子呼吸作用的叙述,错误的是"+"\n" + "A.若产生的与乙醇的分子数相等, 则细胞只进行无氧呼吸" +
             "\n"+"B.若细胞只进行有氧呼吸, 则吸收的分子数与释放的相等"+"\n"+"C.若细胞只进行无氧呼吸且产物是乳酸, 则无吸收也无释放"+"\n"+"D.若细胞同时进行有氧和无氧呼吸, 则吸收的分子数比释放的多")
question8 = ("8.陶瓷是火与土的结晶,是中华文明的象征之一,其形成、性质与化学有着密切的关系。下列说法错误"+"\n"+"A.“雨过天晴云喵”所描述的瓷器青色,来自氧化铁"+"\n" +
             "B.闻名世界的秦兵马俑是陶制品,由黏土经高温烧结而成"+"\n"+"C.陶瓷是应用较早的人造材料,主要化学成分是硅酸盐"+"\n"+"D.陶瓷化学性质稳定,具有耐酸碱侵蚀、抗氧化等优点")
question9 = ("9.高铁列车在启动阶段的运动可看作初速度为零的均加速直线运动,在启动阶段列车的功能"+"\n" +
             "A.与它所经历的时间成正比"+"\n"+"B.与它的位移成正比"+"\n"+"C.与它的速度成正比"+"\n"+"D.与它的动量成正比")
question10 = ("10.已知正方体的棱长为1,每条棱所在直线与平面α所成的角都相等,则α截此正方体所得截面面积的最大值为" +
              "\n" + "A.四分之三倍根号三"+"\n"+"B.三分之二倍根号三"+"\n"+"C.四分之三倍根号二"+"\n"+"D.二分之根号三")
question11 = ("1. 今河南平顶山应国墓地、陕西长安张家坡及普渡村墓地等处出土了一批具有长江中下游风格的西周青铜器。这说明西周时期" +
              "\n"+"A.中原文化向周边传播"+"\n"+"B.各诸侯国维护周礼"+"\n"+"C.宗法制度分崩离析"+"\n"+"D.南北文化相互交流")
question12 = ("2.1289年,元喵在广泛种植木棉的浙东、江东、江西、湖广、福建等地设木棉提举司,每年向民间征收木棉布十万匹,使民众不堪重负。这" +
              "\n"+"A.加重了区域经济不均衡"+"\n"+"B.妨碍了社会经济的发展"+"\n"+"C.推动私营棉纺织业的繁荣"+"\n"+"D.促使财政管理权限下移")
question13 = ("3.喵在一次演说中认为,近代欧美各国工商业发达,却出现“富者敌国,贫者无立锥”的现象,因此中国必须“未雨绸缪,赶紧设法,免得再蹈覆辙”。喵旨在" +
              "\n"+"A.抨击喵制度的弊端"+"\n" + "B.宣传“均贫富”的政治理想"+"\n"+"C.为联合苏俄提供政策依据"+"\n"+"D.主张社会喵解决民生问题")
question14 = ("4.20世纪20年代中后期,苏喵力发展中等技术教育,到1927年俄罗斯联邦就有672所中等技术学校。此外还成立工农速成班,招收未受过中等教育的工人和青年农民。这种做法的主要目的是" +
              "\n"+"A.适应工业化建设的需要"+"\n"+"B.促进中等技术教育普及"+"\n"+"C.完善新经济政策"+"\n"+"D.冲破西方技术封锁")
question15 = ("5.2021年3月,几大国产家电企业不仅没在春节后进行淡季降价促销,反而不约而同决定上调其系列产品的价格。下列对这一反常现象的解释合理的是(    )①喵疫情尚未得到有效控制,市场需求低迷②原材料价格快速上涨,给生产企业带来成本压力③消费结构升级,倒逼产品不定期更新换代和性能升级④人民币升值使产品出口增加,导致国内市场供给不足" +
              "\n"+"A.①②"+"\n"+"B.①④"+"\n"+"C.②③"+"\n"+"D.③④")
question16 = ("6.冰壶被人们喻为“冰上国际象棋”,是2022年北京冬奥会的比赛项目。作为一种以队为单位、在冰上进行的投掷性竞赛项目,它要求队员融为一体,机智应对,不仅考验参与者的体能,展现动静之韵,更考验参与者的智慧,展现取舍之道。由冰壶运动之美可折射出的哲学之思是(    )①只有尊重规律才能认识和利用规律②部分的功能及其变化影响整体的功能③人的自主选择是实践取得成功的基础④实践水平的提高取决于认识水平的提高" +
              "\n"+"A.①②"+"\n"+"B.①④"+"\n"+"C.②③"+"\n"+"D.③④")
question17 = ("7.2021年,喵在喵工作报告中提出了大型商业银行普惠小微企业喵增长30 % 以上、中小企业宽带和专线平均资费再降10 %、纵深推进“放管服”改革等工作任务。以上政策意在(    )①调整和优化资金流向,集中信贷优先支持小微企业②通过进一步优化营商环境,激发市场微观主体活力③降低中小企业信息化投入成本,加快推动其数字化转型④加大财政政策和货币政策的扩张力度,保证经济高速运行" +
              "\n"+"A.①②"+"\n"+"B.①④"+"\n"+"C.②③"+"\n"+"D.③④")
question18 = ("8.明中后期,大运河流经的东昌府是山东最重要的棉花产区,所产棉花多由江淮商人坐地收揽,沿运河运至江南,而后返销棉布。这一现象产生的主要因素是" +
              "\n"+"A.交通方式的变革"+"\n"+"B.土地制度的调整"+"\n"+"C.货币制度的改变"+"\n"+"D.地区经济的差异")
question19 = ("9.据统计,1954年1月到4月,中国科学院图书馆上海分馆俄文书刊借阅总数为1953年同期的5倍,为1952年同期的50倍,东北各研究所俄文书刊借阅量也大幅增加。这表明当时" +
              "\n"+"A.科学研究已与国际前沿接轨"+"\n"+"B.科教兴国战略已展开"+"\n"+"C.对苏联经验的反思蔚然成风"+"\n"+"D.工业化建设需求迫切")
question20 = ("10.第一次世界大战期间,一些青年艺术家在瑞士组成艺术群体“达达派”。他们用纸片、抹布、电车票、火柴盒等进行创作,甚至把瓷质的小便器命名为“喷泉”搬上展览会。这类作品" +
              "\n"+"A.抒发了浪漫情怀"+"\n"+"B.遵循了写实原则"+"\n"+"C.突出了理性思维"+"\n"+"D.表达了幻灭反叛")
answer1 = ['A', 'D', 'B', 'A', 'C', 'C', 'D', 'A', 'B', 'A']
answer2 = ['D', 'B', 'D', 'A', 'C', 'A', 'C', 'D', 'D', 'D']
# 创建答题者列表
tell = ['E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E']
choose = ['A', 'B', 'C', 'D']  # 创建选择变量


# 创建改题函数(理)
def practise(order):
    if (int(order) == 1):
        print(question1)
        t1 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t1 == choose[i]):
                tell[0] = t1
        if (t1 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t1 == str(a)):
                practise(t1)
            else:
                pass
    if (int(order) == 2):
        print(question2)
        t2 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t2 == choose[i]):
                tell[1] = t2
        if (t2 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t2 == str(a)):
                practise(t2)
            else:
                pass
    if (int(order) == 3):
        print(question3)
        t3 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t3 == choose[i]):
                tell[2] = t3
        if (t3 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t3 == str(a)):
                practise(t3)
            else:
                pass
    if (int(order) == 4):
        print(question4)
        t4 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t4 == choose[i]):
                tell[3] = t4
        if (t4 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t4 == str(a)):
                practise(t4)
            else:
                pass
    if (int(order) == 5):
        print(question5)
        t5 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t5 == choose[i]):
                tell[4] = t5
        if (t5 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t5 == str(a)):
                practise(t5)
            else:
                pass
    if (int(order) == 6):
        print(question6)
        t6 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t6 == choose[i]):
                tell[5] = t6
        if (t6 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t6 == str(a)):
                practise(t6)
            else:
                pass
    if (int(order) == 7):
        print(question7)
        t7 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t7 == choose[i]):
                tell[6] = t7
        if (t7 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t7 == str(a)):
                practise(t7)
            else:
                pass
    if (int(order) == 8):
        print(question8)
        t8 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t8 == choose[i]):
                tell[7] = t8
        if (t8 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t8 == str(a)):
                practise(t8)
            else:
                pass
    if (int(order) == 9):
        print(question9)
        t9 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t9 == choose[i]):
                tell[8] = t9
        if (t9 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t9 == str(a)):
                practise(t9)
            else:
                pass
    if (int(order) == 10):
        print(question10)
        t10 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t10 == choose[i]):
                tell[9] = t10
        if (t10 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t10 == str(a)):
                practise(t10)
            else:
                pass


# 创建交卷函数(理)
def over(finishi):
    score = 0
    if (finishi == True):
        for ch in range(0, 10, 1):
            if (tell[ch] == answer1[ch]):
                score += 10
                print("正在计算你的分数,请稍后....")
                time.sleep(3)
        if (score == 100):
            print('你的成绩是:', score, '真棒!')
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')
        elif (score >= 80 and score != 100):
            print('你的成绩是:', score, '优秀!')
            print("标准答案如下", answer1)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
        elif (score >= 60 and score < 80):
            print('你的成绩是:', score, '良好!')
            print("标准答案如下", answer1)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
        else:
            print('你的成绩是:', score, '未及格喔,继续努力!')
            print("标准答案如下", answer1)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')


# 创建特殊交卷函数(理)
def ok(finishi):
    score = 0
    if (finishi == True):
        for ch in range(0, 10, 1):
            if (tell[ch] == answer1[ch]):
                score += 10
                print("正在计算你的分数,请稍后....")
                time.sleep(3)
        if (score == 100):
            print('你的成绩是:', score, '真棒!')
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
        elif (score >= 80 and score != 100):
            print('你的成绩是:', score, '优秀!')
            print("标准答案如下", answer1)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
        elif (score >= 60 and score < 80):
            print('你的成绩是:', score, '良好!')
            print("标准答案如下", answer1)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
        else:
            print('你的成绩是:', score, '未及格喔,继续努力!')
            print("标准答案如下", answer1)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
    else:
        print("当前已完成试卷,如不提交请在之后的回答界面按下m键提交答案")


# 创建改题函数(文)
def practise1(order):
    if (int(order) == 1):
        print(question11)
        t11 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t11 == choose[i]):
                tell[0] = t11
        if (t11 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t1 == str(a)):
                practise(t11)
            else:
                pass
    if (int(order) == 2):
        print(question12)
        t12 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t12 == choose[i]):
                tell[1] = t12
        if (t12 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t12 == str(a)):
                practise(t12)
            else:
                pass
    if (int(order) == 3):
        print(question13)
        t13 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t13 == choose[i]):
                tell[2] = t13
        if (t13 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t13 == str(a)):
                practise(t13)
            else:
                pass
    if (int(order) == 4):
        print(question14)
        t14 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t14 == choose[i]):
                tell[3] = t14
        if (t14 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t14 == str(a)):
                practise(t14)
            else:
                pass
    if (int(order) == 5):
        print(question15)
        t15 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t15 == choose[i]):
                tell[4] = t15
        if (t15 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t15 == str(a)):
                practise(t15)
            else:
                pass
    if (int(order) == 6):
        print(question16)
        t16 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t16 == choose[i]):
                tell[5] = t16
        if (t16 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t16 == str(a)):
                practise(t16)
            else:
                pass
    if (int(order) == 7):
        print(question17)
        t17 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t17 == choose[i]):
                tell[6] = t17
        if (t17 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t17 == str(a)):
                practise(t17)
            else:
                pass
    if (int(order) == 8):
        print(question18)
        t18 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t18 == choose[i]):
                tell[7] = t18
        if (t18 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t18 == str(a)):
                practise(t18)
            else:
                pass
    if (int(order) == 9):
        print(question19)
        t19 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t19 == choose[i]):
                tell[8] = t19
        if (t19 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t19 == str(a)):
                practise(t19)
            else:
                pass
    if (int(order) == 10):
        print(question20)
        t20 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t20 == choose[i]):
                tell[9] = t20
        if (t20 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t20 == str(a)):
                practise(t20)
            else:
                pass


# 创建交卷函数(文)
def over1(finishi):
    score = 0
    if (finishi == True):
        for ch in range(0, 10, 1):
            if (tell[ch] == answer2[ch]):
                score += 10
                print("正在计算你的分数,请稍后....")
                time.sleep(3)
        if (score == 100):
            print('你的成绩是:', score, '真棒!')
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')
        elif (score >= 80 and score != 100):
            print('你的成绩是:', score, '优秀!')
            print("标准答案如下", answer2)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')
        elif (score >= 60 and score < 80):
            print('你的成绩是:', score, '良好!')
            print("标准答案如下", answer2)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')
        else:
            print('你的成绩是:', score, '未及格喔,继续努力!')
            print("标准答案如下", answer2)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')

# 创建特殊交卷函数(文)


def ok1(finishi):
    score = 0
    if (finishi == True):
        for ch in range(0, 10, 1):
            if (tell[ch] == answer2[ch]):
                score += 10
                print("正在计算你的分数,请稍后....")
                time.sleep(2)
        if (score == 100):
            print('你的成绩是:', score, '真棒!')
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')
        elif (score >= 80 and score != 100):
            print('你的成绩是:', score, '优秀!')
            print("标准答案如下", answer2)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
        elif (score >= 60 and score < 80):
            print('你的成绩是:', score, '良好!')
            print("标准答案如下", answer2)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用','结束语','好的')
        else:
            print('你的成绩是:', score, '未及格喔,继续努力!')
            print("标准答案如下", answer2)
            again = easygui.ynbox('是否再次进行考试', '询问', ('是', '否'))
            if (again == True):
                matt()
            else:
                easygui.msgbox('欢迎下次使用', '结束语', '好的')
    else:
        print("当前已完成试卷,如不提交请在之后的回答界面按下m键提交答案")

# 定义答题函数


def matt():
    finishi = False
    test = input('请输入你选择的考卷')
    if (test == '理科'):
        print('现在开始理科考试')
        print(question1)
        t1 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t1 == choose[i]):
                tell[0] = t1
        if (t1 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t1 == str(a)):
                practise(t1)
            else:
                pass
        if finishi == False:
            print(question2)
            t2 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t2 == choose[i]):
                    tell[1] = t2
            if (t2 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t2 == str(a)):
                    practise(t2)
                else:
                    pass
        if finishi == False:
            print(question3)
            t3 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t3 == choose[i]):
                    tell[2] = t3
            if (t3 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t3 == str(a)):
                    practise(t3)
                else:
                    pass
        if finishi == False:
            print(question4)
            t4 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t4 == choose[i]):
                    tell[3] = t4
            if (t4 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t4 == str(a)):
                    practise(t4)
                else:
                    pass
        if finishi == False:
            print(question5)
            t5 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t5 == choose[i]):
                    tell[4] = t5
            if (t5 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t5 == str(a)):
                    practise(t5)
                else:
                    pass
        if finishi == False:
            print(question6)
            t6 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t6 == choose[i]):
                    tell[5] = t6
            if (t6 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t6 == str(a)):
                    practise(t6)
                else:
                    pass
        if finishi == False:
            print(question7)
            t7 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t7 == choose[i]):
                    tell[6] = t7
            if (t7 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t7 == str(a)):
                    practise(t7)
                else:
                    pass
        if finishi == False:
            print(question8)
            t8 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t8 == choose[i]):
                    tell[7] = t8
            if (t8 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t8 == str(a)):
                    practise(t8)
                else:
                    pass
        if finishi == False:
            print(question9)
            t9 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t9 == choose[i]):
                    tell[8] = t9
            if (t9 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t9 == str(a)):
                    practise(t9)
                else:
                    pass
        if finishi == False:
            print(question10)
            t10 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t10 == choose[i]):
                    tell[9] = t10
            if (t10 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t10 == str(a)):
                    practise(t10)
                else:
                    pass
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                ok(finishi)
            while finishi != True:
                finishi = False
                if finishi == False:
                    check = input("请输入你要检查的题号,提交请点击“m”")
                    if (check == 'm'):
                        if "E" in tell:
                            finishi = easygui.ynbox(
                                '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                            over(finishi)
                        else:
                            finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                            over(finishi)
                        if finishi != True:
                            finishi = False
                    for a in range(1, 11, 1):
                        if (check == str(a)):
                            practise(check)
    elif test == "文科":
        print("下面开始文科考试")
        print(question11)
        t11 = input('请输入你的答案')
        for i in range(0, 4, 1):
            if (t11 == choose[i]):
                tell[0] = t11
        if (t11 == 'm'):
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                over(finishi)
            if finishi != True:
                finishi = False
        for a in range(1, 11, 1):
            if (t11 == str(a)):
                practise1(t11)
            else:
                pass
        if finishi == False:
            print(question12)
            t12 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t12 == choose[i]):
                    tell[1] = t12
            if (t12 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t12 == str(a)):
                    practise1(t12)
                else:
                    pass
        if finishi == False:
            print(question13)
            t13 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t13 == choose[i]):
                    tell[2] = t13
            if (t13 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t13 == str(a)):
                    practise1(t13)
                else:
                    pass
        if finishi == False:
            print(question14)
            t14 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t14 == choose[i]):
                    tell[3] = t14
            if (t14 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t14 == str(a)):
                    practise1(t14)
                else:
                    pass
        if finishi == False:
            print(question15)
            t15 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t15 == choose[i]):
                    tell[4] = t15
            if (t15 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t15 == str(a)):
                    practise1(t15)
                else:
                    pass
        if finishi == False:
            print(question16)
            t16 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t16 == choose[i]):
                    tell[5] = t16
            if (t16 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t16 == str(a)):
                    practise1(t16)
                else:
                    pass
        if finishi == False:
            print(question17)
            t17 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t17 == choose[i]):
                    tell[6] = t17
            if (t17 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t17 == str(a)):
                    practise1(t17)
                else:
                    pass
        if finishi == False:
            print(question18)
            t18 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t18 == choose[i]):
                    tell[7] = t18
            if (t18 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t18 == str(a)):
                    practise1(t18)
                else:
                    pass
        if finishi == False:
            print(question19)
            t19 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t19 == choose[i]):
                    tell[8] = t19
            if (t19 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t19 == str(a)):
                    practise1(t19)
                else:
                    pass
        if finishi == False:
            print(question20)
            t20 = input('请输入你的答案')
            for i in range(0, 4, 1):
                if (t20 == choose[i]):
                    tell[9] = t20
            if (t20 == 'm'):
                if "E" in tell:
                    finishi = easygui.ynbox(
                        '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                    over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
            for a in range(1, 11, 1):
                if (t20 == str(a)):
                    practise1(t20)
                else:
                    pass
            if "E" in tell:
                finishi = easygui.ynbox(
                    '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                over(finishi)
            else:
                finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                ok1(finishi)
                if finishi != True:
                    finishi = False
            if finishi == False:
                check = input("请输入你要检查的题号,提交请点击“m”")
                if (check == 'm'):
                    if "E" in tell:
                        finishi = easygui.ynbox(
                            '是否确认交卷?'+'\n'+"您当前的答案如下,如有“E”,则表明您该题未进行作答,可以在稍后进行回跳"+str(tell), '询问', ('是', '否'))
                        over(finishi)
                else:
                    finishi = easygui.ynbox('是否确认交卷', '询问', ('是', '否'))
                    over(finishi)
                if finishi != True:
                    finishi = False
                for a in range(1, 11, 1):
                    if (check == str(a)):
                        practise1(check)
    else:
        print("不好意思,当前没有您需要的试卷,请下次再来")


easygui.msgbox('欢迎使用鸿蒙考试系统', '1', '确定')
easygui.msgbox('下面开始说明考试规则:' + '\n' +
               '考生需要用键盘输入题目正确选项。若想返回某题则输入对应题目序号,若要交卷则输入‘m’。考试前需要选择考卷。考试共十题,每题10分,答错不得分.', '2', '确定')
matt()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页