python随机生成几道问答题

本文介绍了一个使用Python编写的程序,该程序能够生成包含地理知识问答的随机测试卷。通过随机选择问题和答案选项,确保每次生成的试卷都是独一无二的,适用于教育场景中的测试或练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习python是看到一个有趣的程序,自己动手试了试,网上有很多这个例子,注释就不写的那么详细

直接贴上代码

# ! python
#生成随机测试文件

#第一步将测试数据保存在一个字典中

import random

#测试数据

capitals={'印度':'新德里','土耳其':'安卡拉','泰国':'曼谷','缅甸':'仰光',
          '意大利':'罗马','葡萄牙':'里斯本','英国':'伦敦','希腊':'雅典',
          '中国':'北京','日本':'东京','美国':'华盛顿','法国':'巴黎'}

#随机生成3份文件,打乱问题顺序

#下面的代码全在这循环之内

for quizNum in range(3):
    #创建一份唯一的文件名,并让学生填上姓名和日期班级等

    #测试文件名和测试文件答案编号
    quizFile = open('D:\\试卷%s.txt'%(quizNum + 1), 'w')
    answerKeyFile = open('D:\\试卷%s答案.txt'%(quizNum + 1),'w')

    #写测试人xinx
    quizFile.write('Name:\nDtat:\nperiod:\n\n')
    quizFile.write((' '*3) + '正确答案(Form %s)'%(quizNum + 1))
    quizFile.write('\n\n')

    #random.shuffle()函数生成随机列表
    states = list(capitals.keys())
    random.shuffle(states)

    #每份试卷5道题创建答案选项
    for questionNum in range(5):
        #得到正确和错误的答案
        correctAnswer = capitals[states[questionNum]]
        wrongAnswer = list(capitals.values())
        del wrongAnswer[wrongAnswer.index(correctAnswer)]
        wrongAnswer = random.sample(wrongAnswer,3)
        answerOptions = wrongAnswer + [correctAnswer]
        random.shuffle(answerOptions)

        #将内容写入测试试卷和答案文件
        quizFile.write('%s. %s首都是?\n' %(questionNum + 1,states[questionNum]))
        #四个答案选项
        for i in range(4):
            quizFile.write('%s. %s\n' %('ABCD'[i], answerOptions[i]))
        quizFile.write('\n')
        #随机答案选项
        answerKeyFile.write('%s. %s\n' %(questionNum + 1,'ABCD'[answerOptions.index(correctAnswer)]))

   #文件关闭要注意下位置
    quizFile.close()
    answerKeyFile.close()
 

实验结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值