栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习日记【二】——2021-10-06

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习日记【二】——2021-10-06

实操题目:从.csv文件中的谜语中随机抽十道题组成试卷,试卷共五套。
程序:

import os
import csv
import random


def getDic(Name):#创建字典,用谜面做键,用谜底做值
    dic = {}
    with open(Name, 'r') as file:
        reader = csv.reader(file)
        for row in reader:
            dic[row[0]] = row[1]
            pass
        return dic


def creatPaper(dic, n):#创建试卷
    test = []
    items = list(dic.keys())
    for i in range(n):
        random.shuffle(items)#将谜题顺序打乱
        list10 = items[:10]#取乱序中的前十个作为试卷内容
        test.append(list10)
        pass
    return test


def createFile(lsPaper, lsAnswer, n):创建试卷文件和答案文件
    for i in range(n):
        fpn = 'paper' + str(i + 1) + '.txt'#创建试卷文件,文件名自加1
        with open(fpn, 'w', encoding='utf-8') as filep:
            filep.writelines([item + 'n' for item in lsPaper[i]])#将内容写入文件
        fan = 'answer' + str(i + 1) + '.txt'#创建答案文件,文件名自加1
        with open(fan, 'w', encoding='utf-8') as filea:
            filea.writelines([item + 'n' for item in lsAnswer[i]])


os.chdir('E:pythonProject')#改变当前工作目录到指定的路径
fn = 'doc2.csv'#文件名
n = 5#五套试卷和答案
doc = getDic(fn)#将创建的字典赋给doc
papers = creatPaper(doc, n)#用doc中的内容确定试卷中的十道题的内容

answers = []
for paper in papers:
    ans = [doc[item] for item in paper]#为每份试卷写对应的答案
    answers.append(ans)
createFile(papers, answers, n)

CSV中的谜语可以参考下图。

这个题难度适中,在大家学完‘文件和异常’篇章后,可以尝试进行编程。对于代码中的问题欢迎讨论交流。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296008.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号