热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

背单词系统Python

#背单词系统用文件系统和面向对象的方式classdanci():defnew_del(self,a):#删除syingaflagFalsewithopen(danciben.txt

#背单词系统
用文件系统和面向对象的方式

class danci():

def new_del(self,a):#删除
sying = a
flag = False
with open('danciben.txt','r') as f1:
lines = f1.readlines()
with open('danciben.txt','w+') as f2:
for line in lines:
k =line.split('-')[0]
if sying == k:
flag = True
continue
f2.write(line)
if flag == True:
print('删除成功!')
if flag == False:
print("未有该单词")
def new_add(self,y,c):#添加
ying = y
chOng= c
liu = y + '-' + c + '\n'
flag = True
with open('danciben.txt','r') as f:
line = f.readlines()
for index in line:
h = index.split('-')[0]
if y == h:
print("该单词已经在单词本")
flag==False
if flag==True:
with open('danciben.txt','a+') as file:
file.writelines(liu)
def new_show(self):#查看所有单词
print("英文-中文")
with open('danciben.txt','r') as f3:
line1 = f3.readlines()
for line2 in line1:
print(line2)
print("查询成功!")
def new_clear(self):#清空
with open('danciben.txt','w') as f4:
pass
def new_gebieshow1(self,v):#查询汉语意思
yingwen = v
flag = False
with open('danciben.txt','r') as files:
line = files.readlines()
for index in line:
h = index.split('-')[0]
if yingwen == h:
print(index)
flag = True
if flag==False:
print("单词本里未有该单词")

def new_gebieshow2(self,v):#查询英文
hanyu = v
flag = False
with open('danciben.txt','r') as files:
line = files.readlines()
for index in line:
o = index.split('-')[1]
if hanyu + '\n' == o:
print(index)
flag = True
if flag==False:
print("单词本里未有该单词")
def Backword(self):#背单词
#new_worldFile = []
with open("danciben.txt", 'r') as worldFile:
world_list = worldFile.readlines()
for index in world_list:
w = index.split("-")[0]
c = index.split("-")[1]
count = 1
flag = True
while count <= 3 and flag == True:
en = input(str(w) + "的汉语意思:")
if en + "\n" == c:
print("恭喜答对")
flag = False
if en + "\n" != c:
print("答错了,还有"+str(3-count)+"次机会:")
count = count + 1
flag = True
print("您已经完成了单词本里的全部单词")

def Menu():#主菜单
print(’&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;’)
print(’* 【单词王】 ‘)
print(’
1.添加生词 ‘)
print(’
2.删除生词 ‘)
print(’
3.查看生词 ‘)
print(’
4.清空生词 ‘)
print(’
5.查询生词 ‘)
print(’
6.背 生 词 ‘)
print(’
7.退 出 ‘)
print(’
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;’)
Menu()
dc = danci()
print(&#8220;
-欢迎使用背单词软件APP-*&#8221;)
while True:
i = int(input(“输入您要选择的功能(1-7):”))
if i == 1:
y = input(“输入生词的英文:”)
c = input(“输入生词的中文:”)
dc.new_add(y,c)
if i == 2:
a = input(“输入生词的英文:”)
dc.new_del(a)
if i == 3:
dc.new_show()
if i == 4:
dc.new_clear()
if i == 5:
b = input(“输入查询中文or查询英文:”)
if b == “查询中文”:
v = input(“请输入英文单词”)
dc.new_gebieshow1(v)
if b == “查询英文”:
v = input(“请输入该单词中文意思”)
dc.new_gebieshow2(v)
if i == 6:
dc.Backword()
if i == 7:
print(“确定要退出该程序吗?”)
u = input(“确定or再背会:”)
if u == “确定”:
break


推荐阅读
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 本文介绍了一个Python函数same_set,用于判断两个相等长度的数组是否包含相同的元素。函数会忽略元素的顺序和重复次数,如果两个数组包含相同的元素,则返回1,否则返回0。文章还提供了函数的具体实现代码和样例输入输出。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文介绍了一个编程问题,要求求解一个给定n阶方阵的鞍点个数。通过输入格式的描述,可以了解到输入的是一个n阶方阵,每个元素都是整数。通过输出格式的描述,可以了解到输出的是鞍点的个数。通过题目集全集传送门,可以了解到提供了两个函数is_line_max和is_rank_min,用于判断一个元素是否为鞍点。本文还提供了三个样例,分别展示了不同情况下的输入和输出。 ... [详细]
  • HashMap的扩容知识详解
    本文详细介绍了HashMap的扩容知识,包括扩容的概述、扩容条件以及1.7版本中的扩容方法。通过学习本文,读者可以全面了解HashMap的扩容机制,提升对HashMap的理解和应用能力。 ... [详细]
author-avatar
热情风吟_181
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有