为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、手机号这几项。现需要根据通讯录统计2000年后(包括2000年)出生的男生人数,请编程实现这个通讯并完成人数统计要求。
时间: 2024-03-02 18:53:59 浏览: 31
好的,根据你的要求,我可以提供一个Python程序来实现这个需求。以下是代码:
```python
import csv
# 打开通讯录文件
with open('通讯录.csv', encoding='utf-8') as f:
reader = csv.DictReader(f)
male_count = 0
for row in reader:
# 判断是否为男生且出生日期在2000年及以后
if row['性别'] == '男' and int(row['出生日期'][-4:]) >= 2000:
male_count += 1
print("2000年后出生的男生人数为:", male_count)
```
请将通讯录文件以CSV格式保存,并将文件名修改为“通讯录.csv”,确保程序能够读取到正确的数据。程序会读取通讯录文件中的每一行数据,判断是否为男生且出生日期在2000年及以后,如果是,则将男生人数加1。最终输出统计结果。
希望这个程序能够满足你的需求。如果有其他问题,请随时提出。
相关问题
为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、 手机号这几项。现需要根据通讯录统计 2000 年后(包括 2000 年)出生的男生人数,请编程创建这 个通讯并完成符合条件的人
以下是一个可能的实现:
```python
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
```
我们首先定义了一个 `Student` 类来表示每个学生,包含了姓名、性别、出生日期和手机号。然后定义了一个 `AddressBook` 类来表示通讯录,其中包含了一个学生列表。我们可以通过 `add_student` 方法向通讯录中添加学生。最后,我们定义了一个 `count_male_students_born_after_2000` 方法来统计符合条件的学生人数。
下面是一个使用示例:
```python
address_book = AddressBook()
address_book.add_student(Student("张三", "male", datetime.date(2002, 4, 5), "123456789"))
address_book.add_student(Student("李四", "male", datetime.date(1999, 10, 15), "987654321"))
address_book.add_student(Student("王五", "female", datetime.date(2001, 5, 20), "567890123"))
count = address_book.count_male_students_born_after_2000()
print(count) # 输出 1
```
在这个示例中,我们创建了一个通讯录并向其中添加了三个学生。其中只有一个符合条件(出生日期在 2000 年及以后,且性别为男性),因此最后输出的结果为 1。
为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、 手机号这几项。现需要根据通讯录统计 2000 年后(包括 2000 年)出生你的男生人数,请编程实现 这个通讯并完成人数统计要求用c语言
好的,以下是一份使用 C 语言实现的代码,可以实现通讯录的输入和统计:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义一个学生结构体
typedef struct {
char name[20]; // 姓名
char gender; // 性别
int birth_year; // 出生年份
char phone[15]; // 手机号
} Student;
int main() {
int n; // 学生数量
printf("请输入学生数量:");
scanf("%d", &n);
// 动态分配学生数组内存
Student *students = (Student*) malloc(sizeof(Student) * n);
// 输入每个学生的信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(姓名 性别 出生年份 手机号):", i + 1);
scanf("%s %c %d %s", students[i].name, &students[i].gender, &students[i].birth_year, students[i].phone);
}
// 统计出生于 2000 年及以后的男生人数
int count = 0;
for (int i = 0; i < n; i++) {
if (students[i].gender == 'M' && students[i].birth_year >= 2000) {
count++;
}
}
printf("出生于 2000 年及以后的男生人数为:%d\n", count);
// 释放内存
free(students);
return 0;
}
```
注意,这份代码中假设每个学生的姓名不超过 20 个字符,手机号不超过 15 个字符。在实际应用中,可能需要根据实际情况进行修改。同时,如果通讯录中包含更多的信息,需要根据实际情况进行扩展。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)