已知字符串 s="150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械150216,祁东,交通;170110,邱凯,信管",存放了某一门公选课的选课信息。包括学生的学号(固定长度为6位)、姓名和专业。试编写程序,实现以下 功能: (1)据用户输入的学生姓名对该学生是否已成功选课进行查询(不考虑重名等特殊情况),并将结果输出。 (2)据用户输入的学生姓名查询学生的相关信息(包括学号、姓名和专业),不考虑重名等特殊情况。
时间: 2024-02-25 08:51:57 浏览: 94
可以使用Python编写程序来实现上述功能。示例代码如下:
```python
# 定义选课信息字符串
s = "150230,刘江,交通;170203,周永,信管;170201,林洋,信管;160315,何东,机械;150227,章斌,交通;160305,符扬,机械;150216,祁东,交通;170110,邱凯,信管"
# 拆分字符串,获取每个学生的信息
students = s.split(';')
# 定义查询学生姓名的函数
def find_student_by_name(name):
for student in students:
info = student.split(',')
if info[1] == name:
return True
return False
# 定义查询学生信息的函数
def get_student_info_by_name(name):
for student in students:
info = student.split(',')
if info[1] == name:
return {'学号': info[0], '姓名': info[1], '专业': info[2]}
return {}
# 测试查询学生是否已选课
name = input('请输入学生姓名:')
if find_student_by_name(name):
print('该学生已成功选课!')
else:
print('该学生未选课!')
# 测试查询学生信息
name = input('请输入学生姓名:')
info = get_student_info_by_name(name)
if info:
print('学号:', info['学号'])
print('姓名:', info['姓名'])
print('专业:', info['专业'])
else:
print('未找到该学生信息!')
```
运行程序后,根据提示输入要查询的学生姓名即可。程序会输出查询结果。注意,程序没有考虑重名等特殊情况,如果存在重名的学生,程序只会返回找到的第一个学生的信息。
阅读全文