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

python-学生管理|汉罗塔

1.编写程序,实现学生信息管理系统。

运行程序,在控制台输入“1”之后的结果如下所示:
==============================
学生管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.显示所有学生信息
0.退出系统
==============================
请选择功能:1
请输入新学生的姓名:小红
请输入新学生的性别:女
请输入学生的手机号码:123456

结果展示
在这里插入图片描述


def sayHello():print("="*20+'\n'+'欢迎使用通讯录\n'+'1.添加学生信息\n'+'2.删除学生信息\n'+'3.修改学生信息\n'+'4.显示所有学生信息\n'+'5.退出系统\n'+'='*20+'\n')
def add(data):name=input("请输入新学生的姓名:")sex = input("请输入新学生的性别:")phone = input("请输入学生的手机号码:")data.append({'name':name,'sex':sex,'phone':phone})print(f"保存成功:{name}")
def show(data):if(len(data)==0):print("没有联系人")else:print(f"所有联系人:\n")for i in data:print(f"{i}")print("="*20)
def delD(data):name=input("请输入删除人姓名:")flag=Falsefor i in range(len(data)):if(data[i]['name']==name):data.pop(i)print("删除成功")flag=Trueif flag==False:print("删除失败,用户不存在")
def change(datas):if(len(datas)!=0):name = input('请输入修改人姓名:')flag=Falsefor i in range(len(datas)):if(datas[i]['name']==name):inType=input("请输入要修改的选项:【name,sex,phone】")if inType in ['name','phone','sex']:new=input("请输入要修改的值")data[i][inType]=newflag=Trueif flag==False:print("该人不存在,请重新输入")change(name)else:print("现在还没有联系人")
if __name__=="__main__":sayHello()data = []num=int(input("请选择功能:\n"))while(True):if(num==1):add(data)elif(num==2):delD(data)elif(num==3):change(data)elif(num==4):show(data)else:breakinp=input("请输入功能序号:")if(inp.isdigit()):num=int(inp)else:print("输入错误,程序退出")num=0

2.汉罗塔

def move(n,start,mid,end):if n==1:print(f"{n}from {start} to {end}")else:move(n-1,start,end,mid)print(f"{n} from {start} to {end}")move(n-1,mid ,start,end)if __name__=="__main__":n=3move(3,'A','B','C')

相关文章:

python-学生管理|汉罗塔

1.编写程序,实现学生信息管理系统。 运行程序,在控制台输入“1”之后的结果如下所示: 学生管理系统 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.显示所有学生信息 0.退出系统 请选择功能:1 请输入新学生的姓名:小红 请输入…...

python 堆与栈

【一】堆与栈 【 1 】简介 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top&a…...

园区规划技术要点

(一)技术点介绍 1.WLAN:无线局域网WLAN(Wireless Local Area Network)是一种无线计算机网络,使用无线信道代替有线传输介质连接两个或多个设备形成一个局域网LAN(Local Area Network&#xff09…...

深入浅出 Linux 中的 ARM IOMMU SMMU III

系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的 dma_alloc_coherent()/dma_alloc_attrs() 等接口。dma_alloc_coherent()/dma_alloc_attrs() 等接口通过 DMA IOMMU 的回调分配内存,并为经过 IOMMU 的 DMA 内…...

Linux系统---图书管理中的同步问题

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、问题描述 (1)图书馆阅览室最多能够容纳N(N5)名学生,若有更多学生想…...

Vue学习笔记-activated和deactivated生命周期

作用 路由组件所独有的2个生命周期 activated生命周期函数用于在路由组件每次由消失到出现时所调用的函数deactivated生命周期函数用于路由组件每次由出现到消失时(无论是否缓存)所调用的函数 案例 定义一个NewsVue组件,要求:…...

102.套接字-Socket网络编程4(TCP通信流程)

目录 TCP编程流程 套接字函数 1.创建套接字 2.绑定地址 3.监听连接请求 4.接受连接 5. 连接到服务器 6. 发送数据 7. 接收数据 8.关闭套接字 服务器端通信流程 示例代码 客户端通信流程 代码示例 TCP编程流程 TCP是一个面向连接的,安全的,流…...

spring boot 2 升级到 spring boot 3 后文件上传失败

背景 项目需要,要求升级 spring boot 2.7 到 spring boot 3.2,升级过程中发现很多不兼容问题,下面说明文件上传失败的解决方案。 问题 spring boot 2 中不需要额外的配置,直接在 Controller 中配置 MultipartFile 接收页面传的…...

Java Stream API 提供了一种非常方便的方式来比较两个 List 的差异,并取出不同的对象

Java Stream API 提供了一种非常方便的方式来比较两个 List 的差异,并取出不同的对象。这可以通过使用 distinct() 和 filter() 方法来实现。 假设我们有两个 List,一个是 list1,另一个是 list2,我们想找出 list1 中存在但 list2…...

C语言还会存在多久

一、C语言的生命力 在当前的科技发展和就业市场需求下,可以肯定地说C语言并没有像一些新兴语言(如Python、JavaScript等)那样受到大量的关注。然而,并不意味着学习C语言的人会越来越少。 首先,C语言作为一种深受尊重…...

手持式安卓主板_PDA安卓板_智能手持终端方案

手持式安卓主板方案是一种智能终端设备,具备自动对焦和闪光灯功能,可以在昏暗的环境下快速扫描二维码并轻松采集数据。该方案还提供多渠道支付和数据采集功能,为用户提供了便捷的体验。 该方案的产品基于手持式安卓主板,并搭载了八…...

LeetCode103. Binary Tree Zigzag Level Order Traversal

文章目录 一、题目二、题解 一、题目 Given the root of a binary tree, return the zigzag level order traversal of its nodes’ values. (i.e., from left to right, then right to left for the next level and alternate between). Example 1: Input: root [3,9,20,n…...

PHP 判断给定两个时间是否在同一周,月,年

判断是否在同一周 date_default_timezone_set(PRC); //判断是否在同一周,原理:求出其中一个时间戳所在周的周一凌晨时间戳和周日24.00时间戳,如果另一个时间戳在这个范围内,则说明在同一周,否则不在同一周 function g…...

单机无锁线程安全队列-Disruptor

Disruptor 1、基本介绍 说到队列,除了常见的mq中间件,java中也自带线程安全的BlockingQueue,但是BlockingQueue通过在入队和出队时加锁的方式避免并发操作,性能上会大打折扣。 而Disruptor是一个线程安全、低延迟、吞吐量高的队…...

好工具知多少:国内外最常用的SCADA软件

随着现代SCADA系统的发展,工业自动化取得了巨大的飞跃。如今,监控和数据采集(SCADA)系统已成为工业过程的重要组成部分。这些系统使操作员能够实时监控和控制复杂的系统。 SCADA系统正在广泛的行业中发挥着至关重要的作用&#x…...

SQL Server 2016(创建数据库)

1、实验环境。 某公司有一台已经安装了SQL Server 2016的服务器,现在需要新建数据库。 2、需求描述。 创建一个名为"db_class"的数据库,数据文件和日志文件初始大小设置为10MB,启用自动增长,数据库文件存放路径为C:\db…...

Vue学习计划--Vue2(一)简单了解vue

Vue2的终止支持时间为2023年12月31日。 在这个矛盾的时间点,还是决定先把vue2的笔记放出来,在Vue2完结后再把Vue3的笔记补上。这样呢,2和3都不落下,也算是来一个启承的作用吧。在工作中呢,旧的项目可以维护&#xff0c…...

微信小程序生成二维码并保存到本地方法

微信小程序生成二维码请保存到本地方法 官方weapp-qrcode插件 github链接 功能完成样子 wxml <view class"qrcode"><canvas style"width: 275px; height: 275px;" canvas-idmyQrcode></canvas> </view> <view class" …...

shell_exec 和 exec区别

shell_exec 和 exec 都是用于在 PHP 中执行系统命令的函数&#xff0c;但它们之间有一些区别。 返回值类型&#xff1a;shell_exec 函数返回命令的输出结果作为字符串&#xff0c;而 exec 函数将输出结果存储在数组中。 输出结果&#xff1a;shell_exec 函数返回命令的完整输出…...

WPF创建进度条

使用wpf做一个原生的进度条&#xff0c;进度条上面有值&#xff0c;先看效果。 功能就是点击按钮&#xff0c;后台处理数据&#xff0c;前台显示处理数据的变化&#xff0c;当然还可以对进度条进行美化和关闭的操作&#xff0c;等待后台处理完毕数据&#xff0c;然后自动关闭。…...

在Ubuntu 18.04上从零部署TransFusion:一份避开了所有坑的保姆级环境配置清单

在Ubuntu 18.04上从零部署TransFusion&#xff1a;一份避开了所有坑的保姆级环境配置清单 如果你正在尝试在Ubuntu 18.04系统上部署TransFusion这个先进的激光雷达与摄像头融合检测框架&#xff0c;那么恭喜你找到了正确的指南。本文将带你完整走过从系统准备到最终验证的每一步…...

从数学建模到真实运维:如何用调度模型优化你校园里的共享单车?

从数学建模到真实运维&#xff1a;校园共享单车调度系统的工业级设计实践 清晨7点的校园东门&#xff0c;总能看到一群学生围着仅剩的几辆共享单车"抢车"的场景&#xff1b;而下午3点的体育馆停车点&#xff0c;却堆积着数十辆无人问津的车辆。这种供需错配现象背后&…...

Jupyter Notebook文件损坏?3种方法快速恢复.ipynb中的代码(附Python脚本)

Jupyter Notebook文件损坏&#xff1f;3种方法快速恢复.ipynb中的代码&#xff08;附Python脚本&#xff09; 当你在深夜赶数据分析报告时突然断电&#xff0c;重启后发现Jupyter Notebook文件无法打开——这种绝望感每个数据工作者都懂。.ipynb文件损坏并非世界末日&#xff0…...

5分钟部署Llama Factory:开箱即用的大模型训练平台

5分钟部署Llama Factory&#xff1a;开箱即用的大模型训练平台 1. 为什么选择Llama Factory 在人工智能领域&#xff0c;大型语言模型(LLM)的微调和训练一直是技术门槛较高的工作。传统方法需要编写大量代码、处理复杂的环境配置&#xff0c;并且对硬件资源要求极高。Llama F…...

突破性GPU显存释放技术:解决ComfyUI模型占用难题的底层API方案

突破性GPU显存释放技术&#xff1a;解决ComfyUI模型占用难题的底层API方案 【免费下载链接】ComfyUI-Easy-Use In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes. 项目地址: https://gitcode.c…...

保姆级教程:Ollama+EmbeddingGemma-300m,零基础搭建嵌入模型服务

保姆级教程&#xff1a;OllamaEmbeddingGemma-300m&#xff0c;零基础搭建嵌入模型服务 1. 认识嵌入模型与EmbeddingGemma-300m 想象一下&#xff0c;如果你能让计算机真正"理解"文字的含义&#xff0c;而不仅仅是匹配关键词&#xff0c;会怎样&#xff1f;这就是嵌…...

用FFmpeg实现Android中的MediaExtractor 一

下图是整个MediaExtractor需要实现的方法和类,在后续的篇章会逐渐解释这些方法和类 下图是整个MediaExtractor需要实现的方法和类,在后续的篇章会逐渐解释这些方法和类 extractor.drawio 前提 通过 MediaExtractor启动流程 可以知道, 当系统服务加载MediaExtractor插件时,…...

工业相机图像获取:RAW 图像如何保存和显示,附海康Basler堡盟相机代码

工业相机RAW图像保存显示&#xff0c;海康/Basler/堡盟代码直接抄 阅读提示&#xff1a;本文偏向工业视觉入门实操&#xff0c;避开晦涩理论&#xff0c;聚焦RAW图像的保存、显示落地方法&#xff0c;附带三大主流工业相机品牌的实测代码&#xff0c;适合视觉工程师、调试新手快…...

BetterGI 0.38.1版本安装失败终极解决方案:从诊断到修复的完整指南

BetterGI 0.38.1版本安装失败终极解决方案&#xff1a;从诊断到修复的完整指南 【免费下载链接】better-genshin-impact &#x1f368;BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动派遣 | 一键强化 - UI Automation Testi…...

3步突破3D点云标注效率瓶颈,让训练数据生成速度提升60%

3步突破3D点云标注效率瓶颈&#xff0c;让训练数据生成速度提升60% 【免费下载链接】labelCloud 项目地址: https://gitcode.com/gh_mirrors/la/labelCloud 在自动驾驶、机器人导航和AR/VR等领域&#xff0c;3D点云标注是构建精确模型的关键步骤。然而&#xff0c;传统…...