# 英语生词本"""
介绍:背单词是学英语最基础的一环,不少学生在背单词的过程中会整理自己的生词本,以不断拓展自己的词汇量。知识点:1、集合的创建、增添、删除、查询、遍历2、循环语句:while、for3、条件语句:if、elif、else4、跳转语句:break、continue5、旗帜应用不足(待改善):1、完善程序,可以尝试添加提示语,让程序可读性更强2、可尝试添加一些确认,例如:加一个条件,是否确认删除生词3、在背单词模式可以尝试做一些文章,(默认是‘000’退出),例如:加一些旁白介绍、加一些条件确认4、本程序硬伤:无法保存在文件或磁盘,可以尝试改善
"""# 定义一个可改变的集合变量,用于存储英语单词
vocab = set()message = '请输入编号:'print(' =====欢迎来到开心英语生词表=====')while True:# 菜单界面print(' ============================')print('1.查看所有英语生词\t2.进入背单词模式')print('3.添加新的英语生词\t4.删除英语生词')print('5.查询英语生词\t0.退出')# 输入编号print('{}' .format(message), end='')num = input()# 1.查看所有英语生词if num == '1':count = 1 # 单词计数# 判断是否为空集合if vocab == set():print('\t\t 生词本无数据!')continue# 遍历打印for i in vocab:print('{} - {}' .format(i[0], i[1]), end=';\t')# 每5个单词换一行if count % 5 == 0:print()count += 1 # 单词计数print() # 打印换行# 2.进入背单词模式elif num == '2':# 判断是否为空集合if vocab == set():print('\t\t 生词本无数据!')continue# 遍历单词for i in vocab:print('{} 的翻译是:' .format(i[0]), end='')chinese = input()# 判断翻译是否正确if chinese == i[1]:print('\t\t 你太棒了!')continueelif chinese == '000': # 退出背单词模式breakelse:print('\t\t 你再想想!')# 查看翻译while True:print('是否查看翻译(y/n):', end='')select = input()if select == 'y' or select == 'Y':print('\t\t {} - {}' .format(i[0], i[1]))breakelif select == 'n' or select == 'N':breakelse:print('\t\t 输入有误!!!')# 3.添加新的英语生词elif num == '3':# 请输入英语english = input('请输入英语单词:')chinese = input('请输入单词翻译:')# 存入集合,注意只能用add()vocab.add((english, chinese))# 打印刚存入的生词print('\t\t {} - {}\n\t\t 已添加到生词本' .format(english, chinese))# 4.删除英语生词elif num == '4':flag_del = 0 # 删除单词旗帜# 判断是否为空集合if vocab == set():print('\t\t 生词本无数据!')continue# 中文/英文删除data = input('请输入需要删除的(英文/中文):')for i in vocab:if data == i[0] or data == i[1]:vocab.remove((i[0], i[1]))print('\t\t {} - {}\n\t\t 生词已删除!!!' .format(i[0], i[1]))flag_del = 1 # 删除单词旗帜break# 单词不存在if flag_del != 1:print('\t{} 未添加到生词本!' .format(data))# 5.查询英语生词elif num == '5':flag_find = 0 # 查询旗帜# 判断是否为空集合if vocab == set():print('\t\t 生词本无数据!')continue# 英语/中文查询data = input('请输入需要查询的(英文/中文):')for i in vocab:if data == i[0] or data == i[1]:print('\t\t {} - {}' .format(i[0], i[1]))flag_find = 1 # 查询旗帜break# 未找到生词if flag_find != 1:print('\t{} 未添加到生词本!' .format(data))# 0.退出elif num == '0':print('\t ===已退出生词表===')break# 其他else:print('\t\t输入有误!!!')message = '请重新输入编号:'continuemessage = '请输入编号:'
运行程序:
创作日期:2022/5/17