1. 课程设计目的
《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握Python这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。
2. 课程设计任务与要求
本次课程设计利用《软件设计基础-Python》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
- 对系统进行功能需求分析
- 设计合理的数据结构和系统框架
- 界面设计美观、清楚、合理
- 编程简练,程序功能齐全,能正确运行
- 具有一定的创新性
- 说明书、流程图要清楚
- 课题完成后必须按要求提交课程设计报告
任务:
- 将用户要记忆的单词,按字母排序后,存到文件中。
- 用户输入要删除的单词,将其从文件中存储的单词也删除。
- 用书输入要修改的单词,将其在文件中存储的单词也修改。
3. 课程设计说明书
1.主要数据和主要函数介绍:
主要数据:
Data.txt 用户单词系统所存储的文件。
主要函数:
input_file: 提示用户输入单词,并进行排序,最后存储到文件中。
Del_word: 打开单词系统文件,用户进行输入要删除的单词,最后进行删除,并重新存储。
change_word: 打开单词系统文件,用户进行输入要修改的单词和修改后的单词,最后进行修改,并重新存储。
2.流程图及代码实现:
程序流程图:
源代码:
``` 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. 课程设计成果
运行结果:
程序运行的最终结果图:
注意事项:请务必安按照程序提示得内容进行输入,请勿乱输!
5. 课程设计心得
在这次课设中,我对文件这一不常用,但是也是非常重要的内容进行练习,通过这次课设,我发现Python对文件处理真的是十分的方便和快捷。而且我还巩固了字符串的一些方法,例如replace和split方法,这让我以后处理字符串将会更加的熟练,迅速。
参考文献
- 互动智能英语学习系统的研究与实现(电子科技大学·武文斌)
- 基于React Native的英语视听应用的设计与实现(福州大学·刘草)
- 基于Android移动学习平台的设计与实现(电子科技大学·李永杰)
- 基于SSM的英语学习网站的设计与实现(华中科技大学·陈颖慧)
- 文本综合处理平台的研究与实现(济南大学·王孟孟)
- 基于知识图谱的开放空间知识采集系统(中南民族大学·马荣香)
- 商务英语网络学习平台的设计与实现(山东大学·李策)
- 基于智能手机的奥运英语学习软件的研究与开发(四川师范大学·陶丽)
- 文本综合处理平台的研究与实现(济南大学·王孟孟)
- 英语应用文写作在线学习系统模式研究(燕山大学·李鑫)
- 商务英语网络学习平台的设计与实现(山东大学·李策)
- 互动智能英语学习系统的研究与实现(电子科技大学·武文斌)
- 商务英语网络学习平台的设计与实现(山东大学·李策)
- 基于智能手机的奥运英语学习软件的研究与开发(四川师范大学·陶丽)
- 基于Joomla!框架的基础英语E-Learning学习系统的设计与实现(中国科学技术大学·胡前进)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设小屋 ,原文地址:https://m.bishedaima.com/yuanma/36111.html