Python学习笔记--day04

本文详细介绍了Python中元组与字典的基本概念、创建方法及常见操作,包括元素的增删改查等,并通过具体示例展示了学生管理系统的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

元组

# 元组的创建
tuple1 = (11,22)
print(tuple1)
tuple2 = tuple((33,44))
print(tuple2)

print(tuple1[0])
print(tuple1[1])

# 通过循环变量元组
index = 0
while index < len(tuple2):
    print(tuple2[index])
    index += 1

# 通过循环遍历元组
index = 0
while index < len(tuple2):
    print(tuple2[index])
    index += 1

tuple3 = ([11,22,33],[44,55,66])
print(tuple3)
tuple3[0].append("hello")
print(tuple3)

tuple4 = (11,)
print(type(tuple4))
字典

# 创建字典
userInfo = {
    "userName": "lisi",
    "age": 20,
    "height": 180,
    "weight": 80
}
userInfo2 = dict(userName = "zhangsan", age = 30)
print(userInfo)
print(userInfo2)

# 获取字典中的数据
userName = userInfo["userName"]
print(userName)

age = userInfo["age"]
print(age)

# 添加数据
# dict[key] = value 如果,key在字典中 存在则为修改操作,如果不存在则为添加操作
userInfo["age"] = 40
print(userInfo)
userInfo["address"] = "南京雨花"
print(userInfo)

# 删除数据
# 删除记录
del userInfo["age"]
print(userInfo)
# 删除字典
# del userInfo
# print(userInfo)
# 删除字典中的所有键值对
userInfo.clear()
print(userInfo)
字典的操作

userInfo = {
    "username": "lisi",
    "age": 20,
    "workAge": 20
}

# userName = userInfo["userName"]
# print(userName)
# get方法,如果key错误,不会报错,还可以设置无数据的默认值
userName = userInfo.get("userName","默认值")
print(userName)

# data = userInfo.keys()
# print(data)
# print(type(data))
# 使用循环遍历字典
keys = userInfo.keys()
for key in keys:
    value = userInfo.get(key)
    print("{}:{}".format(key,value))
# 获取value
# values = userInfo.values()
# print(values)
# print(type(values))
for value in userInfo.values():
    print(value)
# 获取键值对
# data = userInfo.items()
# print(data)
# print(type(data))
for keyAndValue in userInfo.items():
    key = keyAndValue[0]
    value = keyAndValue[1]
    print("{}:{}".format(key, value))

for key,values in userInfo.items():
    print("{}:{}".format(key,value))
学生管理系统

# 1.展示所有学生信息
# 2.添加学生
# 3.删除学生
# 4.修改学生信息
# 5.退出程序
# 学生(id,姓名,年龄,性别,家庭住址)

cmd = '''
***********学生管理系统************
*1.查看学生列表
*2.添加学生信息
*3.删除学生信息
*4.修改学生信息
*q.退出系统
***********************************
'''
studentList = [
{
    "id":1,
    "name": "lisi",
    "age": 20,
    "gender": "男",
    "address": "南京下关"
},
{
    "id": 2,
    "name": "王武",
    "age": 22,
    "gender": "男",
    "address": "南京玄武"
},
{
    "id": 3,
    "name": "张三",
    "age": 20,
    "gender": "男",
    "address": "南京下关"
}
]
while True:
    print(cmd)
    choose = input("请您选择操作:")
    choose = choose.strip()
    #查看学生列表
    if choose == "1":
        print("学生列表:")
        for student in studentList:
            content = "学号:{} 姓名:{} 年龄:{} 性别:{} 家庭住址:{}"\
                                    .format(student.get("id"),
                                            student.get("name"),
                                            student.get("age"),
                                            student.get("gender"),
                                            student.get("address"))
            print(content)
    elif choose == "2":
        lastStudent = studentList[-1]
        id = lastStudent.get("id")
        # 需要添加学生的id
        newStudentId = id + 1
        name = input("请您输入学生的姓名:")
        age = input("请您输入学生的年龄:")
        age = int(age)
        gender = input("请您输入学生的性别(男/女):")
        address = input("请您输入学生的家庭住址:")
        newStudent = {
            "id": newStudentId,
            "name":name,
            "age":age,
            "gender":gender,
            "address":address
        }
        studentList.append(newStudent)
        print("添加学生成功")
    # 删除学生
    elif choose == "3":
        id = input("请您输入需要删除的学生学号:")
        # 将字符串转换为int
        id = int(id)
        # 根据学生id,到数据源中查找次学生,如果有则删除,没有则提示
        deleteStudentIndex = -1
        for index,student in enumerate(studentList):
            if student.get("id") == id:
                deleteStudentIndex = index
                break
        #判断deleteStudentIndex是否为-1
        if deleteStudentIndex != -1:
            studentList.pop(deleteStudentIndex)
            print("删除成功")
        else:
            print("对不起,查无此学生,请您检测您的输入!")
        # 修改学生
    elif choose == "4":
        id = int(id)
        # 根据学生id,到数据源中查找此学生,如果有则修改,如果没有则提示
        updateStudent = None
        for student in studentList:
            if student.get("id") == id:
                updateStudent = student
                break
        # 判断updateStudent是否有值
        if updateStudent != None:
            # 需要进行修改操作
            name = input("请您输入学生的姓名:")
            age = input("请您输入学生的年龄:")
            age = int(age)
            gender = input("请您输入学生的性别(男/女):")
            address = input("请您输入学生的家庭住址:")

            # 修改字典中的内容
            updateStudent["name"] = name
            updateStudent["age"] = age
            updateStudent["gender"] = gender
            updateStudent["address"] = address
            print("修改成功")
        else:
            print("对不起查无此学生,请您检测您的输入!")
    elif choose == "q":
        print("感谢您的使用!欢迎下次使用!")
        exit()
    else:
        print("您的输入有误!,请您再次输入")


Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值