题目一:定义学员信息类,包含姓名、成绩属性,定义成绩打印方法 (90分及以上显示优秀,80分及以上显示良好,70分及以上显示中等,60分及以上显示合格,60分以下显示不及格)
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def print_score(self):
if self.score >= 90:
print(f"学员 {self.name} 考{self.score}分,成绩为优秀。")
elif self.score >= 80:
print(f"学员 {self.name} 考{self.score}分,成绩为良好。")
elif self.score >= 70:
print(f"学员 {self.name} 考{self.score}分,成绩为中等。")
elif self.score >= 60:
print(f"学员 {self.name} 考{self.score}分,成绩为合格。")
else:
print(f"学员 {self.name} 考{self.score}分,成绩为不及格。")
student1 = Student("张三", 95)
student1.print_score()
student2 = Student("李四", 85)
student2.print_score()
student3 = Student("王五", 75)
student3.print_score()
student4 = Student("赵四", 65)
student4.print_score()
student5 = Student("老六", 55)
student5.print_score()
题目三: 检测密码:一些网站会给密码强加一些规则。编写函数检测一个字符串是否是一个合法的密码。假设密码规则如下述:
- 密码必须至少有 8 个字符
- 密码只能包含英文字母和数字
- 密码应该至少包含两个数字
- 编写程序提示用户输人一个密码,如果遵循了规则就显示“valid password”,否则,invalidpassword
def is_valid_password(password):
# 检查密码长度是否小于 8,如果是,则返回 False 表示密码不合法
if len(password) < 8:
return False
digit_count = 0 # 用于统计数字的数量
for char in password:
# 检查密码中的字符是否为英文字母或数字,如果不是,则返回 False 表示密码不合法
if not char.isalnum():
return False
if char.isdigit():
digit_count += 1 # 统计数字的数量
# 检查统计的数字数量是否大于等于 2,如果是,则返回 True 表示密码合法,否则返回 False 表示密码不合法
if digit_count >= 2:
return True
else:
return False
# 获取用户输入
user_password = input("请输入密码:")
# 检测密码合法性
if is_valid_password(user_password):
print("valid password")
else:
print("invalid password")