基于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方法,这让我以后处理字符串将会更加的熟练,迅速。

相关文章
|
1月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
1月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
1月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
292 0
|
1月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
161 1
|
1月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
248 1
|
30天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。

推荐镜像

更多
下一篇
oss云网关配置