用python写一个读取txt文档中的人名并对人名进行座位分配
时间: 2024-05-12 17:17:40 浏览: 131
利用Python读取txt文档的方法讲解
好的,这是一个很有趣的问题,我可以为您提供一种解决方案。我们可以从txt文件中读取每一行,然后使用正则表达式匹配出其中的人名,将其存储到一个列表中。接着,我们可以使用随机函数对这些人名进行乱序,最后将其按照一定规则分配座位即可。下面是简单的Python代码示例:
```python
import re
import random
# 定义正则表达式,匹配人名
pattern = re.compile(r'[^\W\d](?:[\w-]*[^\W\d])?')
# 定义读取txt文件函数
def read_txt_file(filename):
with open(filename, 'r') as f:
lines = f.readlines()
return lines
# 读取txt文件并提取人名
filename = 'names.txt'
lines = read_txt_file(filename)
names = []
for line in lines:
names += pattern.findall(line)
# 随机分配座位
random.shuffle(names)
num_names = len(names)
num_seats = 10
for i in range(num_names):
seat = i % num_seats + 1
print(f'{names[i]}: seat {seat}')
```
当然,这只是一个简单的示例,实际应用中可能需要更复杂的座位分配规则。希望我的回答能够帮到您!
阅读全文