当前位置: 首页 > news >正文

基于Python实现(控制台)个人信息系统

♻️ 资源

大小:95.3KB

➡️资源下载:https://download.csdn.net/download/s1t16/87425397

1. 课程设计目的

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

2. 课程设计任务与要求

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

要求:

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

任务:

制作一个录入个人信息的程序,姓名,性别,学历,专业,兴趣爱好等。将这些设定好的信息提交后,显示出来,并至少将3个人的信息写入文件。

3. 课程设计说明书

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

People一个类,存储了学生的姓名,性别,专业,学历,兴趣,爱好等各个属性,为后续的处理提供了方便。

People_list 数据类型为列表,存储了所有的学生对象

函数Add 提示用户输入学生信息,最后添加学生。

函数show 展示所有学生的信息

函数save 用来存储所有学生的信息,将所有学生的信息写入student.txt文件中

2.流程图及代码实现:

程序流程图:

源代码:

people_list = list() class People: def __init__(self,name,sex,education,major,interest,hobby): self.name = name # 姓名 self.sex = sex # 性别 self.education = education # 学业 self.major = major # 专业 self.interest = interest # 兴趣 self.hobby = hobby # 爱好 def add(): name = input("请输入学生的姓名:") sex = input("请输入学生的性别:") education = input("请输入学生的学历:") major = input("请输入学生的专业:") interest = input("请输入学生的兴趣:") hobby = input("请输入学生的爱好:") p = People(name,sex,education,major,interest,hobby) people_list.append(p) print("成功添加") def show(): for i,p in enumerate(people_list): print("第%d个学生的信息如下:"%(i+1)) print("学生姓名:",p.name) print("学生性别:",p.sex) print("学生学历:",p.education) print("学生专业:",p.major) print("学生兴趣:",p.interest) print("学生爱好:",p.hobby) print("-------------------") def save(): with open("student.txt","w") as f: for i,p in enumerate(people_list): f.write("第%d个学生的信息如下:\n"%(i+1)) f.write("学生姓名:%s\n"%p.name) f.write("学生性别:%s\n"%p.sex) f.write("学生学历:%s\n"%p.education) f.write("学生专业:%s\n"%p.major) f.write("学生兴趣:%s\n"%p.interest) f.write("学生爱好:%s\n"%p.hobby) f.write("-------------------\n") while(True): print("------个人信息录制系统--------") print("1. 添加信息") print("2. 展示信息") print("3. 储存信息") print("4. 退出") dev = int(input("请输入你的选择:")) if(dev == 1): add() elif(dev == 2): show() elif(dev == 3): save() elif(dev == 4): exit(0) else: print("输入错误!")
  1. 设计中遇到的问题

对于本次设计,这虽然是一个非常简单的问题,但是却有很多的细节,由于我开始的粗心,导致学生信息在存储中,没有进行换行,最后我进行字符串的拼接加上”\n”解决了该问题

4. 课程设计成果

运行结果:

注意事项:

请按照菜单的提示进行输入

5. 课程设计心得

本次课设,让我明白了纸上得来终觉浅,只是听听不动手实践时学不会编程的,这虽然是一个非常简单的课设,但是我在刚开始写程序时,由于马虎却出现了不少的错误,导致我检查了许多次,才发现错误。通过这次课设,我巩固并增强了我Python编程的能力。

http://www.jsqmd.com/news/694445/

相关文章:

  • 5分钟快速搭建乳腺癌预测神经网络教程
  • 从音频频谱到振动分析:用STC89C52单片机的FFT功能做个简易频谱仪
  • 【嵌入式C与轻量大模型适配实战指南】:20年老工程师亲授3大内存对齐陷阱、4类中断冲突规避法及生产环境零宕机部署 checklist
  • eNSP实战:二层旁挂组网下AP免认证上线与直接转发配置详解
  • 避开SAP月结大坑:物料分类账CKM3月结前必做的5项检查与状态码解读
  • MDB Tools终极指南:如何在Linux系统上轻松读取Access数据库文件
  • 一键部署VSCode农业开发沙箱:含土壤传感器模拟器、NDVI实时渲染终端与病虫害标注工作区(限前500名领取)
  • 保姆级教程:用Vector Configurator配置Autosar CAN报文接收超时(Deadline Monitor)
  • oracle和金仓区别,个人睬坑
  • 从‘合闸’到‘分闸’:一张图搞懂煤矿馈电开关内部机械与电气联动逻辑
  • SwiftUI学习笔记4-按钮
  • AMD Ryzen 处理器功耗调校终极实战:RyzenAdj 完整指南
  • 别再傻傻分不清了!Qt状态栏addPermanentWidget、addWidget、showMessage到底谁覆盖谁?
  • 【T5模型架构】从Transformer到T5:架构演进与核心模块拆解
  • 5分钟上手Zotero-Style:让文献管理焕然一新的终极美化插件
  • 《2026年必看:六款热门AI编程工具横评》
  • 线程安全崩塌,连接池雪崩,序列化溢出——C++ MCP网关5大致命报错全解析,附GDB+eBPF精准诊断模板
  • Skywalking存储引擎选择:MySQL vs ElasticSearch vs H2,哪个更适合你?
  • 告别审查:Windows XP系统运行GoodbyeDPI的兼容性挑战与解决方案
  • 2026年版|大模型算法工程师必看!6大核心方向优先级排序(建议收藏)
  • 30天快速上手Python-01Anaconda 安装
  • 蓝牙实战解析:定向广播ADV_DIRECT_IND的连接建立与占空比策略
  • Cadence Virtuoso仿真报错‘No convergence’?别慌,手把手教你调大reltol和减小gmin
  • 别再为IPsec隧道‘单向通’头疼了!手把手教你排查FortiGate双端互连失败(附实战截图)
  • 如何让微信聊天记录成为你的永久数字资产?本地工具WeChatMsg完全指南
  • 别只会说“Thank you”:用ChatGPT润色你的SCI回复信,让语气更地道
  • 手把手教你用face_recognition和Flask,30分钟搭建一个Web版人脸识别系统(Python 3.10+)
  • VSCode实时协作配置失效的7个隐秘原因:从WebSocket超时到权限链断裂的全链路诊断手册
  • WarcraftHelper:魔兽争霸3现代优化终极指南
  • 【学习笔记】车道线识别——图像处理方法