生成乱序单词

为了可以颠来倒去背单词而写了一个小小的程序。
原来的顺序单词应该是这样的格式:
1
word1.1 word1.2 word1.3 …

2
word2.1 word2.2 word2.3…

即两个单元之间有空行,单元号另起一行,两个单词之间两个制表符。

import random
import copy

FILE="all.txt"
NEWFILE="new_file.txt"
RESORT=True #输出时会打乱顺序

def file2dic(file=FILE):
	file = open(file, 'r', encoding='utf-8')
	data = file.readlines()
	file.close()
	alphabeta = {}
	for i, line in enumerate(data):
		data[i] = line.rstrip().split("\t\t")
	for i, line in enumerate(data):
		try:
			if line[0][0] in ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]:
				key = int(line[0])
				alphabeta[key] = data[i + 1]
		except:
			continue
	return alphabeta


def resort(dic):
    new_dic=copy.deepcopy(dic)
    for key,value in new_dic.items():
        random.shuffle(value)
    return new_dic


def write(dic,filename=NEWFILE):
    file = open(filename,'w',encoding='utf-8')
    for key,value in dic.items():
        file.write(str(key))
        file.write('\n')
        for word in value:
            file.write(word)
            file.write("\t\t")
        file.write("\n\n")
    file.close()


if __name__=='__main__':
	alphabeta=file2dic()
	if RESORT:
		alphabeta=resort(alphabeta)
	write(alphabeta)

冲鸭^^

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值