记录名单。请设计一段程序,按照学生参加演出到达的先后输入所有参加演出的学生姓名,存放到一个列表中,输入时姓名之间用“,”分隔,然后在列表中插入开始标记:“Actors”。演出结束后,输入名字可以查找某个学生,如小张,是第几个到达的算法实现的步骤和思路,Python
时间: 2024-03-02 10:52:08 浏览: 156
下面是实现该功能的 Python 代码:
```python
actors = [] # 存放演员名单
while True:
name = input("请输入学生姓名(输入 q 退出):")
if name == "q":
break
if name == "":
continue
if name == "Actors":
print("演员名单已存在,请勿重复输入!")
continue
if name in actors:
print(f"{name} 已在演员名单中!")
continue
if not actors: # 如果列表为空,则插入开始标记
actors.append("Actors")
actors.append(name)
print(f"{name} 已加入演员名单!")
# 输出演员名单
print("演员名单:")
for i, actor in enumerate(actors[1:], start=1):
print(f"{i}. {actor}")
# 搜索演员
search_name = input("请输入要查找的学生姓名:")
if search_name in actors:
index = actors.index(search_name) - 1 # 要排除开始标记
print(f"{search_name} 是第 {index + 1} 个到达的!")
else:
print(f"{search_name} 不在演员名单中!")
```
上述代码使用了一个 while 循环来不断读入学生姓名,并将其存放到列表中。为了避免重复和无效输入,我们加入了一些判断条件:
1. 如果输入 q,则退出循环。
2. 如果输入为空字符串,则忽略该次输入。
3. 如果输入的是 Actors,则说明演员名单已存在,不需要重复输入。
4. 如果输入的是已在演员名单中的姓名,则给出提示。
5. 如果列表为空,则插入开始标记。
如果输入的姓名符合要求,则将其加入演员名单中。演员名单输出时,我们使用了 enumerate() 函数来遍历列表,并输出每个演员的编号和姓名。
最后,我们可以输入要查找的学生姓名,通过列表的 index() 方法找到该学生在演员名单中的位置,再减去开始标记所占的位置,即可得到该学生是第几个到达的。如果学生不在演员名单中,则给出相应提示。
阅读全文