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')
相关推荐
报错小能手几秒前
python(入门)map内置函数及import模块导入,as别名
开发语言·人工智能·python
梵得儿SHI8 分钟前
Java 反射机制实战:对象属性复制与私有方法调用全解析
java·开发语言·java反射机制的实际应用·对象属性复制·反射调用私有方法·私有字段·类型兼容性和敏感字段忽略
sulikey11 分钟前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
liu****27 分钟前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖27 分钟前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
润 下29 分钟前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_29 分钟前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
前端架构师-老李33 分钟前
Java开发—JDK的安装和版本管理(macOS)
java·开发语言·macos
Allen_LVyingbo43 分钟前
Python使用Medical Information Dataset实战2025.07版(下)
python·信息可视化·健康医疗