ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 简易英语词汇生词本

2022-05-18 00:01:57  阅读:211  来源: 互联网

标签:vocab elif 英语词汇 format Python 生词 print 英语


  1 # 英语生词本
  2 
  3 """
  4 介绍:背单词是学英语最基础的一环,不少学生在背单词的过程中会整理自己的生词本,以不断拓展自己的词汇量。
  5 
  6 知识点:
  7     1、集合的创建、增添、删除、查询、遍历
  8     2、循环语句:while、for
  9     3、条件语句:if、elif、else
 10     4、跳转语句:break、continue
 11     5、旗帜应用
 12 
 13 不足(待改善):
 14     1、完善程序,可以尝试添加提示语,让程序可读性更强
 15     2、可尝试添加一些确认,例如:加一个条件,是否确认删除生词
 16     3、在背单词模式可以尝试做一些文章,(默认是‘000’退出),例如:加一些旁白介绍、加一些条件确认
 17     4、本程序硬伤:无法保存在文件或磁盘,可以尝试改善
 18 """
 19 
 20 
 21 # 定义一个可改变的集合变量,用于存储英语单词
 22 vocab = set()
 23 
 24 message = '请输入编号:'
 25 
 26 print(' =====欢迎来到开心英语生词表=====')
 27 
 28 while True:
 29 
 30     # 菜单界面
 31     print(' ============================')
 32     print('1.查看所有英语生词\t2.进入背单词模式')
 33     print('3.添加新的英语生词\t4.删除英语生词')
 34     print('5.查询英语生词\t0.退出')
 35 
 36     # 输入编号
 37     print('{}' .format(message), end='')
 38     num = input()
 39 
 40     # 1.查看所有英语生词
 41     if num == '1':
 42 
 43         count = 1               # 单词计数
 44 
 45         # 判断是否为空集合
 46         if vocab == set():
 47             print('\t\t 生词本无数据!')
 48             continue
 49 
 50         # 遍历打印
 51         for i in vocab:
 52             print('{} - {}' .format(i[0], i[1]), end=';\t')
 53 
 54             # 每5个单词换一行
 55             if count % 5 == 0:
 56                 print()
 57 
 58             count += 1          # 单词计数
 59 
 60         print()                 # 打印换行
 61 
 62     # 2.进入背单词模式
 63     elif num == '2':
 64 
 65         # 判断是否为空集合
 66         if vocab == set():
 67             print('\t\t 生词本无数据!')
 68             continue
 69 
 70         # 遍历单词
 71         for i in vocab:
 72             print('{} 的翻译是:' .format(i[0]), end='')
 73             chinese = input()
 74 
 75             # 判断翻译是否正确
 76             if chinese == i[1]:
 77                 print('\t\t 你太棒了!')
 78                 continue
 79 
 80             elif chinese == '000':          # 退出背单词模式
 81                 break
 82 
 83             else:
 84                 print('\t\t 你再想想!')
 85 
 86             # 查看翻译
 87             while True:
 88                 print('是否查看翻译(y/n):', end='')
 89                 select = input()
 90 
 91                 if select == 'y' or select == 'Y':
 92                     print('\t\t {} - {}' .format(i[0], i[1]))
 93                     break
 94 
 95                 elif select == 'n' or select == 'N':
 96                     break
 97 
 98                 else:
 99                     print('\t\t 输入有误!!!')
100 
101     # 3.添加新的英语生词
102     elif num == '3':
103 
104         # 请输入英语
105         english = input('请输入英语单词:')
106         chinese = input('请输入单词翻译:')
107 
108         # 存入集合,注意只能用add()
109         vocab.add((english, chinese))
110 
111         # 打印刚存入的生词
112         print('\t\t {} - {}\n\t\t 已添加到生词本' .format(english, chinese))
113 
114     # 4.删除英语生词
115     elif num == '4':
116 
117         flag_del = 0            # 删除单词旗帜
118 
119         # 判断是否为空集合
120         if vocab == set():
121             print('\t\t 生词本无数据!')
122             continue
123 
124         # 中文/英文删除
125         data = input('请输入需要删除的(英文/中文):')
126         for i in vocab:
127             if data == i[0] or data == i[1]:
128                 vocab.remove((i[0], i[1]))
129                 print('\t\t {} - {}\n\t\t 生词已删除!!!' .format(i[0], i[1]))
130                 flag_del = 1    # 删除单词旗帜
131                 break
132 
133         # 单词不存在
134         if flag_del != 1:
135             print('\t{} 未添加到生词本!' .format(data))
136 
137     # 5.查询英语生词
138     elif num == '5':
139 
140         flag_find = 0           # 查询旗帜
141 
142         # 判断是否为空集合
143         if vocab == set():
144             print('\t\t 生词本无数据!')
145             continue
146 
147         # 英语/中文查询
148         data = input('请输入需要查询的(英文/中文):')
149         for i in vocab:
150             if data == i[0] or data == i[1]:
151                 print('\t\t {} - {}' .format(i[0], i[1]))
152                 flag_find = 1   # 查询旗帜
153                 break
154 
155         # 未找到生词
156         if flag_find != 1:
157             print('\t{} 未添加到生词本!' .format(data))
158 
159     # 0.退出
160     elif num == '0':
161         print('\t  ===已退出生词表===')
162         break
163 
164     # 其他
165     else:
166         print('\t\t输入有误!!!')
167         message = '请重新输入编号:'
168         continue
169 
170     message = '请输入编号:'

运行结果:

 

标签:vocab,elif,英语词汇,format,Python,生词,print,英语
来源: https://www.cnblogs.com/ZhouHua2022/p/16282968.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有