python实现全国省会城市随机出题

import random

capitals = {'北京': '北京', '天津': '天津', '上海': '上海', '重庆': '重庆', '内蒙古': '呼和浩特', '广西': '南宁', '西藏': '拉萨',
            '宁夏': '银川', '新疆': '乌鲁木齐', '香港': '香港', '澳门': '澳门', '河北': '石家庄', '山西': '太原', '辽宁': '沈阳',
            '吉林': '长春', '黑龙江': '哈尔滨', '江苏': '南京', '浙江': '杭州', '安徽': '合肥', '福建': '福州', '江西': '南昌',
            '山东': '济南', '河南': '郑州', '湖北': '武汉', '湖南': '长沙', '广东': '广州', '海南': '海口', '四川': '成都',
            '贵州': '贵阳', '云南': '昆明', '陕西': '西安', '甘肃': '兰州', '青海': '西宁', '台湾': '台北', }
for quizNum in range(35):
    # 创建试卷文件及答案文件
    quizFile = open('D:\\work\\pythonProject\\quiz\\capitalsQuiz' + str(quizNum + 1) + '.txt', 'w')
    quizAnsFile = open('D:\\work\\pythonProject\\quiz\\capitalsAnsQuiz' + str(quizNum + 1) + '.txt', 'w')
    # 试卷前部分
    quizFile.write('Name:\nDate\nPeriod\n')
    quizFile.write(' ' * 20 + 'State Capitals Quiz (From )' + str(quizNum + 1))
    quizFile.write('\n\n')

    # 随机打乱
    states = list(capitals.keys())
    random.shuffle(states)

    for questionNum in range(len(capitals.keys())):

        # 生成答案
        correctAnswer = capitals[states[questionNum]]
        wrongAnswer = list(capitals.values())
        del wrongAnswer[wrongAnswer.index(correctAnswer)]
        answerOptions = random.sample(wrongAnswer, 3)
        answerOptions.append(correctAnswer)
        random.shuffle(answerOptions)

        # 生成题目写入文件
        quizFile.write(str(questionNum + 1) + '.____是 ' + states[questionNum] + '省的省会城市?\n')
        for i in range(4):
            quizFile.write(' ' + 'ABCD'[i] + '.' + answerOptions[i])
        quizFile.write('\n')

        # 写入答案
        quizAnsFile.write(str(questionNum + 1) + '.' + 'ABCD'[answerOptions.index(correctAnswer)] + '\n')

    quizFile.close()
    quizAnsFile.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值