咋回事(py朋友求助)
  • 板块灌水区
  • 楼主ming_xin
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/5/22 21:29
  • 上次更新2023/11/4 22:52:14
查看原帖
咋回事(py朋友求助)
399750
ming_xin楼主2021/5/22 21:29
#!python 3
#试卷.py
#random order
import random
q={'1':'2',
   '2':'3',
   '3':'4',
   '4':'5',
   '5':'6',
   '6':'7',
   '7':'8',
   '8':'9',
   '9':'10',
   '10':'11',
   }
for num in range(35):
    qFile=open('qusitions%s.txt'%(num+1),'w')
    aqFile=open('qusitions_answers%s.txt'%(num+1),'w')
    qFile.write('姓名:\n\n班级:\n\n考号:\n\n')
    qFile.write((' '*20)+'问题(来自于%s)'%(num+1))
    qFile.write('\n\n')
    wq=list(q.keys())
    random.shuffle(wq)
    for qnum in range(50):
        correct_answer=q[wq[qnum]]
        wrong_answer=list(q.values())
        del wrong_answer[wrong_answer.index(correct_answer)]
        wrong_answer=random.sample(wrong_answer,3)
        ax=wrong_answer+[correct_answer]
        random.shuffle(ax)
        qFile.write('%s.下列与%s匹配的是()\n'%(qnum+1,wq[qnum]))
        for i in range(4):
            qFile.write(' %s.%s\n'%('ABCD'[
                i],ax[i]))
            qFile.write('\n')
            aqFile.write('%s.%s\n'%(qnum+1,'ABCD'[
                ax.index(correct_answer)]))
            qFile.close()
            aqFile.close()
    

结果报错

Traceback (most recent call last):
  File "C:\Users\yang\Desktop\试卷\shijuan.py", line 33, in <module>
    qFile.write(' %s.%s\n'%('ABCD'[
ValueError: I/O operation on closed file.

我不知道哪里出问题了,文件夹里边只生成了一对问题和答案,并且问题选项不全

2021/5/22 21:29
加载中...