1. 课程设计目的

《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握Python这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。

2. 课程设计任务与要求

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

要求:

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

任务:

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

3. 课程设计说明书

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

主要数据:

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

主要函数:

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

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

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

2.流程图及代码实现:

程序流程图:

Python课程介绍 学习目标 python课程设计目的_英文单词学习系统

源代码:

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. 课程设计成果

运行结果:

Python课程介绍 学习目标 python课程设计目的_python_02

Python课程介绍 学习目标 python课程设计目的_python_03

程序运行的最终结果图:

Python课程介绍 学习目标 python课程设计目的_Python课程介绍 学习目标_04

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

5. 课程设计心得

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