python-学生管理|汉罗塔

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

运行程序,在控制台输入"1"之后的结果如下所示:

==============================

学生管理系统

1.添加学生信息

2.删除学生信息

3.修改学生信息

4.显示所有学生信息

0.退出系统

==============================

请选择功能:1

请输入新学生的姓名:小红

请输入新学生的性别:女

请输入学生的手机号码:123456

结果展示

python 复制代码
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=False
    for i in range(len(data)):
        if(data[i]['name']==name):
            data.pop(i)
            print("删除成功")
            flag=True
    if flag==False:
        print("删除失败,用户不存在")
def change(datas):
    if(len(datas)!=0):
        name = input('请输入修改人姓名:')
        flag=False
        for 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]=new
                flag=True

        if 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:
            break
        inp=input("请输入功能序号:")
        if(inp.isdigit()):
            num=int(inp)
        else:
            print("输入错误,程序退出")
            num=0

2.汉罗塔

python 复制代码
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=3
    move(3,'A','B','C')
相关推荐
Warren2Lynch27 分钟前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
如若1231 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
Knight_AL1 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing032 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209992 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河2 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新2 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
IT召唤狮3 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻3 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble3 小时前
C++ 用互斥锁实现读写锁
开发语言·c++