为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、 手机号这几项。现需要根据通讯录统计 2000 年后(包括 2000 年)出生的男生人数,请编程创建这 个通讯并完成符合条件的人
时间: 2024-04-07 20:29:46 浏览: 63
以下是一个可能的 Python 实现:
```python
import datetime
class Student:
def __init__(self, name, gender, birthdate, phone_number):
self.name = name
self.gender = gender
self.birthdate = birthdate
self.phone_number = phone_number
class AddressBook:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def count_male_students_born_after_2000(self):
count = 0
for student in self.students:
if student.gender == "male" and student.birthdate.year >= 2000:
count += 1
return count
# 创建一个通讯录并添加学生
address_book = AddressBook()
address_book.add_student(Student("张三", "male", datetime.date(2001, 1, 1), "123456789"))
address_book.add_student(Student("李四", "male", datetime.date(2002, 2, 2), "234567890"))
address_book.add_student(Student("王五", "female", datetime.date(1999, 3, 3), "345678901"))
# 统计符合条件的学生人数并输出
count = address_book.count_male_students_born_after_2000()
print("2000 年及以后出生的男生人数为:", count)
```
在这个实现中,我们首先定义了一个 `Student` 类来表示每个学生,包含了姓名、性别、出生日期和手机号。然后定义了一个 `AddressBook` 类来表示通讯录,其中包含了一个学生列表。我们可以通过 `add_student` 方法向通讯录中添加学生。最后,我们定义了一个 `count_male_students_born_after_2000` 方法来统计符合条件的学生人数。
在主程序中,我们创建了一个通讯录并向其中添加了三个学生。然后调用 `count_male_students_born_after_2000` 方法统计符合条件的学生人数,并将结果输出。输出的结果应该为:2000 年及以后出生的男生人数为:2。
阅读全文