python办公自动化--案例练习

题目1:
  • 生成随机的测验试卷文件 假如你是一位地理老师, 班上有 35 名学生, 你希望进行美国各州首府的一个 小测验。不妙的是,班里有几个坏蛋, 你无法确信学生不会作弊。你希望随机调整 问题的次序, 这样每份试卷都是独一无二的, 这让任何人都不能从其他人那里抄袭答案。当然,手工完成这件事又费时又无聊。 好在, 你懂一些 Python。
  •   下面是程序所做的事:
    
      - 创建 35 份不同的测验试卷。
      
      - 为每份试卷创建 50 个多重选择题,次序随机。
      
      - 为每个问题提供一个正确答案和 3 个随机的错误答案,次序随机。
      
      -  将测验试卷写到 35 个文本文件中。
      
      - 将答案写到 35 个文本文件中。
      
      这意味着代码需要做下面的事:
      
      - 将州和它们的首府保存在一个字典中。
      
      - 针对测验文本文件和答案文本文件,调用 open()、 write()和 close()。
      
      - 利用 random.shuffle()随机调整问题和多重选项的次序。
    
  • 个人答案,仅供参考,欢迎讨论,共同进步哈
import os 
import random

# 网上查找的资料
text = '''亚拉巴马 Alabama 	 AL 蒙哥马利 Montgomery
阿拉斯加 Alaska 	 AK 朱诺 Juneau
亚利桑那 Arizona 	 AZ 菲尼克斯 Phoenix
阿肯色 Arkansas 	 AR 小石城 Little rock
加利福尼亚 California 	 CA 萨克拉门托 Sacramento
科罗拉多 Colorado 	 CO 丹佛 Denver
康涅狄格 Connecticut 	 CT 哈特福德 Hartford
特拉华 Delaware 	 DE 多佛 Dover
佛罗里达 Florida 	 FL 塔拉哈西 Tallahassee
佐治亚 Georgia 	 GA 亚特兰大 Atlanta
夏威夷 Hawaii 	 HI 檀香山 Honolulu
爱达荷 Idaho 	 ID 博伊西 Boise
伊利诺伊 Illinois 	 IL 斯普林菲尔德 Springfield
印第安纳 Indiana 	 IN 印第安纳波利斯 Indianapolis
艾奥瓦 Iowa 	IA 得梅因 Des Moines
堪萨斯 Kansas 	 KS 托皮卡 Topeka
肯塔基 Kentucky 	 KY 法兰克福 Frankfort
路易斯安那 Louisiana 	 LA 巴吞鲁日 Baton Rouge
缅因 Maine 	 ME 奥古斯塔 Augusta
马里兰 Maryland 	 MD 安纳波利斯 Annapolis
马萨诸塞 Massachusetts 	 MA 波士顿 Boston
密歇根 Michigan 	 MI 兰辛 Lansing
明尼苏达 Minnesota 	 MN 圣保罗 St. Paul
密西西比 Mississippi 	 MS 杰克逊 Jackson
密苏里 Missouri 	 MO 杰斐逊城 Jefferson City
蒙大拿 Montana 	 MT 海伦娜 Helena
内布拉斯加 Nebraska 	 NE 林肯 Lincoln
内华达 Nevada 	 NV 卡森城 Carson City
新罕布什尔 New hampshire 	 NH 康科德 Concord
新泽西 New jersey 	 NJ 特伦顿 Trenton
新墨西哥 New mexico 	 NM 圣菲 Santa Fe
纽约 New york 	 NY 奥尔巴尼 Albany
北卡罗来 North carolina 	 NC 纳罗利 Raleigh
北达科他 North dakota 	 ND 俾斯麦 Bismarck
俄亥俄 Ohio 	 OH 哥伦布 Columbus
俄克拉何马 Oklahoma 	 OK 俄克拉何马城 Oklahoma City
俄勒冈 Oregon 	 OR 塞勒姆 Salem
宾夕法尼亚 Pennsylvania 	 PA 哈里斯堡 Harrisburg
罗得岛 Rhode island 	 RL 普罗维登斯 Providence
南卡罗来纳 South carolina 	 SC 哥伦比亚 Columbia
南达科他 South dakota 	 SD 皮尔 Pierre
田纳西 Tennessee 	 TN 纳什维尔 Nashville
得克萨斯 Texas 	 TX 奥斯汀 Austin
犹他 Utah 	 UT 盐湖城 Salt Lake City
佛蒙特 Vermont 	 VT 蒙彼利埃 Montpelier
弗吉尼亚 Virginia 	 VA 里士满 Richmond
华盛顿 Washington 	 WA 奥林匹亚 Olympia
西弗吉尼亚 West virginia 	 WV 查尔斯顿 Charleston
威斯康星 Wisconsin 	 WI 麦迪逊 Madison
怀俄明 Wyoming 	 WY 夏延 Cheyenne'''

# 将州和它们的首府保存在一个字典中
test = {
   }
state = []
capital = []
for line in text.split('\n'):
    state = line.split('\t')[0]
    capital = line.split('\t')[1].split(' ',2)[-1]
    test[state]=capital

# 创建试卷生成文件夹目录
if os.path.exists('./autoExam'):
    pass
else :
    os.makedirs('./autoExam')

filePath = './autoExam'    

# 在autoExam文件夹下生成35份试卷和答案
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值