- 代码:
import csv
students=[]
def menu():
print("学生信息管理")
print("1.显示学生信息")
print("2.添加学生信息")
print("3.删除学生信息")
print("4.保存学生信息")
print("5.退出")
def add():
student={}
student['id']=int(input("请输入学号:"))
student['name']=input("请输入姓名:")
student['sex']=input("请输入性别:")
student['classes']=input("请输入班级:")
student['phone']=int(input("请输入电话:"))
students.append(student)
print("录入完成")
return students
def save():
with open('students.csv','w',newline='') as csvfile:
writer=csv.DictWriter(csvfile,fieldnames=['id','name','sex','classes','phone'])
writer.writerows(students)
def display():
for student in students:
print(student)
def delete():
id=input("请输入要删除的学生学号:")
for student in students:
if str(student['id'])==id:
students.remove(student)
save()
print("信息删除成功")
return
else:
print("未找到学生信息")
def play():
while True:
menu()
choice = input("请选择序号,执行相应操作: ")
if choice == '1':
display()
elif choice == '2':
add()
elif choice == '3':
delete()
elif choice == '4':
save()
print("学生信息已经自动保存。")
elif choice == '5':
break
else:
print("无效的选项,请重新选择。")
play()
- 截图:
- 分析:
students 列表用于存储学生的字典信息。
menu 函数用于显示菜单选项。
add 函数用于添加学生信息到 students 列表。
save 函数用于将学生信息保存到 CSV 文件中。
display 函数用于显示 students 列表中的所有学生信息。
delete 函数用于根据学号删除学生信息。
play 函数是一个无限循环,用于执行用户选择的操作。
在编程中需要对列表名进行处理,引入fieldname变量名,为字典的键。
在Python中,字典(dictionary)是一种可变容器模型,它包含键值对(key-value pairs)。每个键(key)都是唯一的,并且与值(value)相关联。字典的键必须是不可变类型(如整数、浮点数、字符串、元组等),而值可以是任何类型。
1.唯一性:字典中的每个键都必须是唯一的。如果有两个或更多的键具有相同的值,则后面的键值对将覆盖前面的键值对。
my_dict = {'apple': 1, 'banana': 2, 'apple': 3} # 'apple' 的值被覆盖为 3
print(my_dict) # 输出: {'apple': 3, 'banana': 2}
2.不可变性:字典的键必须是不可变的。这意味着你可以使用整数、浮点数、字符串或元组作为键,但不能使用列表、集合或其他可变类型作为键。
# 正确的键类型
my_dict = {1: 'one', 2.0: 'two', 'three': 3, (4, 5): 'four-five'}
# 错误的键类型(因为列表是可变的)
# my_dict = {[1, 2]: 'one-two'} # 这会引发TypeError
获取键的值:你可以使用方括号([])和键来获取字典中与该键相关联的值。
my_dict = {'name': 'Alice', 'age': 30}
print(my_dict['name']) # 输出: Alice
检查键是否存在:你可以使用 in 关键字来检查字典中是否存在某个键。
my_dict = {'name': 'Alice', 'age': 30}
if 'name' in my_dict:
print('The key "name" exists.')
添加或修改键值对:如果键已经存在于字典中,则使用相同的键赋值会修改该键的值。如果键不存在于字典中,则添加一个新的键值对。
my_dict = {'name': 'Alice'}
my_dict['age'] = 30 # 添加新的键值对
my_dict['name'] = 'Bob' # 修改已存在的键值对
print(my_dict) # 输出: {'name': 'Bob', 'age': 30}
删除键值对:你可以使用 del 语句或字典的 pop() 方法来删除键值对。
my_dict = {'name': 'Alice', 'age': 30}
del my_dict['name'] # 删除键为 'name' 的键值对
print(my_dict) # 输出: {'age': 30}
# 或者使用 pop() 方法(如果键不存在,pop() 可以接受一个默认值)
value = my_dict.pop('age', None) # 删除键为 'age' 的键值对,并返回其值(如果不存在则返回 None)
print(my_dict) # 输出: {}
print(value) # 输出: 30
标签:name,python,---,dict,通讯录,student,print,键值,my From: https://blog.csdn.net/2302_81279069/article/details/139871147