随机出题1.0版——random和open的使用

晚上有通识2的考试,于是乎,提前进入了期末准备状态,话说不应该这么注重考试的,但是还是忍不住的想要拿高分。。。。我这什么狗屎的心理啊!!!!!现在国奖已经到手了,为什么还要这么傻逼地去学啊!!!!!
老师给的范围很小,5页纸的题库 python <wbr>random和open的使用,大部分都是选择、填空和判断题,真正需要记的名词解释和简答题都不到一页纸。。。怪不得这门通识课的给分都很高呢!!!当初不知道是爆了多少RP才选上这门课的,而且这门课老师是出了名的不点名,据说2/3的人不来他都不点名- -|| 
扯远了。。。
为了准备这次考试,也不想浪费时间,所以就写了一个python的程序,随即出一张试卷,题号也要求随即。
貌似因为这个题库比较小的缘故吧,出一张试卷的速度还是很快的,如果换做是大学物理那么课的题库,可能就弱爆了。。。有待改进~
(表示有种想换地方的冲动,贴的代码好难看 python <wbr>random和open的使用(虽然也没人来看 python <wbr>random和open的使用 python <wbr>random和open的使用 python <wbr>random和open的使用 python <wbr>random和open的使用 python <wbr>random和open的使用 python <wbr>random和open的使用 python <wbr>random和open的使用)不过表示没时间移植整个博客。。。)




import math;
import random;

ans = open(r"C:\Users\lenovo\Desktop\ans.txt", "w");
ans.write("1.Judge\n");
left = range(1, 56);
for i in range(0, 30):
    f = open(r"problem\select", "r");
    t = random.randrange(0, len(left));
    gt = left[t];
    del left[t];

    for line in f.readlines():
        g = line.split(".");
        #print gt,
        #print line;
        if g[0] == str(gt):
            ans.write(line+"\n");
    f.close();

ans.write("2.insert\n");
left = range(1, 26);
for i in range(0, 20):
    f = open(r"problem\insert", "r");
    t = random.randrange(0, len(left));
    gt = left[t];
    del left[t];
    for line in f.readlines():
        g = line.split(".");
        if g[0] == str(gt):
            ans.write(line+"\n");
    f.close();

ans.write("3.select\n");
left = range(1, 26);
for i in range(0, 20):
    f = open(r"problem\sle", "r");
    t = random.randrange(0, len(left));
    gt = left[t];
    del left[t];
    t = 0;
    for line in f.readlines():
        g = line.split(".");
        if t==1:
            try:
                int(g[0]);
                break;
            except Exception:
                ans.write(line);
        else:
            if g[0]==str(gt):
                t=1;
                ans.write(line+"\n");
    f.close();
ans.write("4.translate\n");
left = range(1, 6);
for i in range(0,4):
    f = open(r"problem\tra", "r");
    t = random.randrange(0, len(left));
    gt = left[t];
    del left[t];
    for line in f.readlines():
        g = line.split(".");
        if g[0] == str(gt):
            ans.write(line+"\n");
    f.close();
ans.write("5.simple answer\n");
left = range(1, 5);
for i in range(0,3):
    f = open(r"problem\da", "r");
    t = random.randrange(0, len(left));
    gt = left[t];
    del left[t];
    for line in f.readlines():
        g = line.split(".");
        if g[0] == str(gt):
            ans.write(line+"\n");
    f.close();


ans.close();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值