(4)请编写程序,用户输入学号,从文本文件中找出对应的同学姓名,若没有,则输出此班无此人。(文本文件内容如下) 202002010201 张哲俣 202002010202 李涵 202002010203 赵彬宇 202002010204 周丽花 202002010205 吴东泽 202002010206 夏俊 202002010207 邢永婷 202002010208 杨国鑫 202002010209 李瀚 202002010210 黄梦飞
时间: 2024-03-17 08:45:45 浏览: 34
好的,可以使用 Python 的文件操作来实现。具体步骤如下:
1. 打开文本文件并读取所有行
2. 将每行按照空格分割成两个部分,分别是学号和姓名
3. 使用一个字典将学号和姓名对应起来
4. 让用户输入一个学号,然后在字典中查找对应的姓名并输出;如果没有找到,则输出提示信息。
下面是一份示例代码:
```python
# 打开文件并读取所有行
with open('students.txt', 'r') as f:
lines = f.readlines()
# 将学号和姓名对应起来
d = {}
for line in lines:
parts = line.strip().split()
d[parts[0]] = parts[1]
# 让用户输入学号,并查找对应的姓名
while True:
std_id = input('请输入学号:')
if std_id in d:
print('姓名:', d[std_id])
break
else:
print('此班无此人。')
```
在这个程序中,首先打开文本文件 `students.txt` 并读取其中的所有行。然后使用一个字典 `d` 将学号和姓名对应起来。接着,使用一个无限循环让用户输入学号,如果学号在字典中,则输出对应的姓名并结束循环;否则,输出“此班无此人。”并继续循环。注意,在使用完文件后需要使用 `with` 语句来关闭文件。
相关问题
请编写程序,用户输入学号,从文本文件中找出对应的同学姓名, 若没有,则输出此班无此人。(文本文件内容如下)。 202002010201张哲保202002010202李涵202002010203赵彬宇202002010204周丽花202002010205吴东泽202002010206夏俊202002010207邢永婷202002010208杨国鑫202002010209李瀚202002010210黄梦飞
以下是Python代码实现:
```python
# 打开文件
with open('students.txt', 'r') as f:
# 读取文件内容
content = f.read()
# 将内容按照学号和姓名分割成列表
students = content.split()
# 获取用户输入的学号
student_id = input('请输入学号:')
# 遍历学生列表查找对应的姓名
for i in range(len(students)):
if student_id == students[i]:
# 打印对应的姓名
print('该学生姓名为:{}'.format(students[i+1]))
break
else:
# 如果没有找到对应的姓名,打印提示信息
print('此班无此人。')
```
其中,文本文件名为 `students.txt`,内容如下:
```
202002010201张哲保
202002010202李涵
202002010203赵彬宇
202002010204周丽花
202002010205吴东泽
202002010206夏俊
202002010207邢永婷
202002010208杨国鑫
202002010209李瀚
202002010210黄梦飞
```
用户需要输入要查询的学号,程序会在文本文件中查找对应的姓名,如果找到了,则输出姓名,否则输出提示信息“此班无此人”。
(4) 请编写程序,用户输入学号,从文本文件中找出对应的同学姓名,若没有,则输出此班无此人。(文本文件内容如下) 202002010201 张哲俣 202002010202 李涵 202002010203 赵彬宇 202002010204 周丽花 202002010205 吴东泽 202002010206 夏俊 202002010207 邢永婷 202002010208 杨国鑫 202002010209 李瀚 202002010210 黄梦飞
好的,以下是 Python 代码实现:
```python
# 打开文本文件
with open('students.txt', 'r') as f:
# 读取所有行
lines = f.readlines()
# 构造字典,键为学号,值为姓名
students = {}
for line in lines:
num, name = line.split()
students[num] = name
# 用户输入学号
num = input("请输入学号:")
if num in students:
print(students[num])
else:
print("此班无此人。")
```
其中,需要将文本文件名字和路径替换成实际的文件名和路径。
运行结果可能会类似于:
```
请输入学号:202002010205
吴东泽
```
```
请输入学号:202002010211
此班无此人。
```
希望能够帮到你!