基于python实现英语学习系统(附完整代码)

简介: 基于python实现英语学习系统(附完整代码)

课程设计任务与要求


完整代码:https://download.csdn.net/download/weixin_55771290/87392414


本次课程设计利用《软件设计基础-Python》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。

要求:


  • 对系统进行功能需求分析
  • 设计合理的数据结构和系统框架
  • 界面设计美观、清楚、合理
  • 编程简练,程序功能齐全,能正确运行
  • 具有一定的创新性
  • 说明书、流程图要清楚
  • 课题完成后必须按要求提交课程设计报告

任务:


  • 将用户要记忆的单词,按字母排序后,存到文件中。
  • 用户输入要删除的单词,将其从文件中存储的单词也删除。
  • 用书输入要修改的单词,将其在文件中存储的单词也修改。

3. 课程设计说明书


1.主要数据和主要函数介绍:

主要数据:

Data.txt 用户单词系统所存储的文件。

主要函数:

input_file: 提示用户输入单词,并进行排序,最后存储到文件中。


Del_word: 打开单词系统文件,用户进行输入要删除的单词,最后进行删除,并重新存储。


change_word: 打开单词系统文件,用户进行输入要修改的单词和修改后的单词,最后进行修改,并重新存储。


2.流程图及代码实现:


程序流程图:


69dd68933d6011129f141af3b4e932b4.png

源代码:

def input_file():
    # 输入单词
    f = open("data.txt","w+")
    n = int(input("请输入单词的个数:"))
    word = list()
    for i in range(1,n+1):
        t = input("第%d个单词是:"%i)+","
        word.append(t)
    # 单词进行排序
    word = sorted(word)
    print("文件中保存的单词为:",word)
    # 保存单词
    f.writelines(word)
    f.close()
    print("输入成功!")
def del_word():
    # 删除单词
    with open("data.txt","r") as f:
        line = f.readline()
    del_word = input("请输入你要删除的单词!")
    line = line.replace(del_word+",","")
    with open("data.txt","w") as f:
        f.writelines(line)
    print("删除成功!")
def change_word():
    # 修改单词
    with open("data.txt","r") as f:
        line = f.readline()
    will_change_word = input("请输入你要修改的单词?")
    change_word = input("请输入你要修改成什么?")
    line = line.replace(will_change_word+",",change_word+",")
    with open("data.txt","w") as f:
        f.writelines(line)
    print("修改成功!")
def main():
    while(True):
        print("--------英文单词学习系统--------")
        print(" 1.输入单词")
        print(" 2.删除单词")
        print(" 3.修改单词")
        print(" 4.退出")
        choose = input("请输入你的选择:")
        if(choose == "1"):
            input_file()
        if(choose == "2"):
            del_word()
        if(choose == "3"):
            change_word()
        if(choose == "4"):
            exit(0)
main()


2.设计中遇到的问题

在删除和修改单词的时候不能直接使用字符串替换的功能,因为可能会把其他含有要修改单词子子串的单词也进行修改。为了解决该问题,本课设使用字符串采用在要修改或删除的单词后面加上一个逗号,由此可以非常简单方便的解决,误删除误修改的问题。


4. 课程设计成果

运行结果:


90a5e039917e518439e3ab04482418d1.png

image.png


程序运行的最终结果图:

da88aa0b9b81d91874b06fc84c88311a.png


注意事项:请务必安按照程序提示得内容进行输入,请勿乱输!

5. 课程设计心得


在这次课设中,我对文件这一不常用,但是也是非常重要的内容进行练习,通过这次课设,我发现Python对文件处理真的是十分的方便和快捷。而且我还巩固了字符串的一些方法,例如replace和split方法,这让我以后处理字符串将会更加的熟练,迅速。

相关文章
|
10天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
142 55
|
9天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
11天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
14天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
11天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
10天前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
11天前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。
|
11天前
|
索引 Python
Python学习的自我理解和想法(5)
这是我在B站千锋教育学习Python的第五天笔记,主要内容包括列表的操作,如排序(`sort()`、``sorted()``)、翻转(`reverse()`)、获取长度(`len()`)、最大最小值(`max()`、``min()``)、索引(`index()`)、嵌套列表和列表生成(`range`、列表生成式)。通过这些操作,可以更高效地处理数据。希望对大家有所帮助!
|
1月前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
47 2
|
3月前
|
人工智能 数据挖掘 数据处理
揭秘Python编程之美:从基础到进阶的代码实践之旅
【9月更文挑战第14天】本文将带领读者深入探索Python编程语言的魅力所在。通过简明扼要的示例,我们将揭示Python如何简化复杂问题,提升编程效率。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编码世界的大门。让我们开始这段充满智慧和乐趣的Python编程之旅吧!