任务一:
def sum_odd_squares(num=8):
"""
若参数是正整数 num,则返回 3 到 num 之间所有的奇数平方之和;
若参数是非正整数则报错,并提示错误原因。
"""
if not isinstance(num, int):
return "输入数据类型有误"
if num <= 0:
return "输入数据范围有误"
# 从3到num,找出奇数,并计算它们的平方之和
total = sum(i**2 for i in range(3, num + 1) if i % 2 != 0)
return total
# 测试
print(sum_odd_squares()) # 使用默认参数 8
print(sum_odd_squares(10))
print(sum_odd_squares(-5))
print(sum_odd_squares(5.5))
任务二:
# 初始化一个空列表来存储学生信息
students = []
def add_student(name, gender, age):
"""
向学生列表中添加一个学生
"""
student = {"name": name, "gender": gender, "age": age}
students.append(student)
return "学生信息添加成功!"
def search_student(name):
"""
查找学生信息
"""
for student in students:
if student["name"] == name:
return student
return "学生信息不存在!"
# 测试
add_student("张三", "男", 20)
add_student("李四", "女", 21)
print(search_student("张三"))
print(search_student("王五"))
任务拓展:
def input_student():
"""
输入学生信息并添加到列表
"""
name = input("请输入学生姓名: ")
gender = input("请输入学生性别(男/女): ")
age = int(input("请输入学生年龄: "))
return add_student(name, gender, age)
def modify_student(name):
"""
修改学生信息
"""
for student in students:
if student["name"] == name:
new_name = input("请输入新的姓名(不修改请直接按Enter): ")
new_gender = input("请输入新的性别(不修改请直接按Enter): ")
new_age = input("请输入新的年龄(不修改请直接按Enter): ")
if new_name:
student["name"] = new_name
if new_gender:
student["gender"] = new_gender
if new_age:
student["age"] = int(new_age)
return "学生信息已修改!"
return "学生信息不存在!"
def delete_student(name):
"""
删除学生信息
"""
global students # 声明全局变量
students = [student for student in students if student["name"] != name]
return "学生信息已删除!"
# 测试拓展功能
input_student()
print(students)
modify_student("张三")
print(students)
delete_student("张三")
print(students)