当前位置: 首页 > 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;然后自动关闭。…...

从nvidia-smi到npu-smi:给CUDA开发者的华为昇腾NPU监控指南

从nvidia-smi到npu-smi&#xff1a;CUDA开发者快速掌握昇腾NPU监控的实战手册 当你的技术栈从英伟达GPU扩展到华为昇腾NPU时&#xff0c;监控工具的使用体验就像从自动挡切换到手动挡——虽然最终目的地相同&#xff0c;但操作逻辑需要重新适应。作为曾经每天与nvidia-smi打交道…...

Chandra OCR真实测评:对比GPT-4o,开源OCR模型表现如何

Chandra OCR真实测评&#xff1a;对比GPT-4o&#xff0c;开源OCR模型表现如何 最近在整理一堆扫描版的实验报告和学术论文&#xff0c;里面混杂着复杂的表格、手写注释和数学公式&#xff0c;真是让人头疼。传统的OCR工具&#xff0c;比如Tesseract&#xff0c;处理这种文档就…...

模型调参实战指南:Temperature、Top-k与Top-p的黄金组合法则

1. 理解三大核心参数&#xff1a;从理论到实践 第一次接触大模型调参时&#xff0c;我被Temperature、Top-k和Top-p这三个参数搞得晕头转向。直到在真实项目中踩过几次坑后才明白&#xff0c;它们就像烹饪中的"盐、糖、醋"——看似简单&#xff0c;但配比不同就能产生…...

XUnity.AutoTranslator:打破Unity游戏语言壁垒的开源解决方案

XUnity.AutoTranslator&#xff1a;打破Unity游戏语言壁垒的开源解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 当你面对一款内容精彩但语言不通的Unity游戏时&#xff0c;是否曾因语言障碍而错…...

嵌入式系统内存管理技术与实践

嵌入式系统内存管理的工程实践1. 嵌入式内存管理概述嵌入式系统的内存管理直接决定了系统的三个关键特性&#xff1a;稳定性、实时性和功耗表现。与通用计算系统不同&#xff0c;嵌入式环境对内存使用有着更严格的约束条件&#xff0c;这要求工程师必须掌握专业的内存管理技术。…...

OpenClaw数据标注:用Qwen3-VL:30B增强飞书图像训练集

OpenClaw数据标注&#xff1a;用Qwen3-VL:30B增强飞书图像训练集 1. 为什么需要自动化数据标注 作为一个小型AI团队的算法工程师&#xff0c;我最近遇到了一个典型的数据瓶颈问题&#xff1a;我们需要为垂直领域的图像识别任务构建训练集&#xff0c;但手动标注上千张飞书聊天…...

VINS-Fusion 实战指南:从环境搭建到多传感器融合部署

1. VINS-Fusion入门&#xff1a;为什么选择这个多传感器融合方案 第一次接触VINS-Fusion是在做一个无人机定位项目时&#xff0c;当时试过各种开源SLAM方案&#xff0c;最后发现这个来自香港科技大学团队的工具在传感器融合方面确实有两把刷子。简单来说&#xff0c;它就像个聪…...

pnpm报错Node版本不兼容?3分钟学会用nvm-windows切换Node版本(含LTS版本选择建议)

pnpm报错Node版本不兼容&#xff1f;3分钟学会用nvm-windows切换Node版本&#xff08;含LTS版本选择建议&#xff09; 刚接手新项目时&#xff0c;我习惯性输入pnpm install准备安装依赖&#xff0c;却看到刺眼的报错提示&#xff1a;"ERROR: This version of pnpm requi…...

OpenClaw错误处理:QwQ-32B生成有误时的自动修正方案

OpenClaw错误处理&#xff1a;QwQ-32B生成有误时的自动修正方案 1. 为什么需要关注大模型生成错误 上周我让OpenClaw自动整理项目文档时&#xff0c;遇到了一个令人哭笑不得的场景。QwQ-32B模型将"API响应时间优化"错误生成为"API响应时间恶化"&#xff…...

TXS0104EPWR双向电平转换器实战指南:从4通道设计到50mA高效应用

1. TXS0104EPWR双向电平转换器入门指南 第一次接触TXS0104EPWR时&#xff0c;我也被这个复杂的型号名称吓到了。但实际用起来才发现&#xff0c;这个4通道双向电平转换器简直是嵌入式开发的"翻译官"——专门解决不同电压器件之间的"语言不通"问题。想象一下…...