Python帮助 ---> 从文本文件随机选择名字

1 投票
5 回答
6666 浏览
提问于 2025-04-17 02:10

我想在一个名为 'names' 的 .txt 文件里列出一些名字,比如 "john, jack, daniels, whisky, susan, alex"。

现在,我想把这个文件导入到我的 'script' 里,并使用随机模块。

我现在有的代码是:

import random

name = ( "jay" , "luis" , "bob" , "sofi", "susan" ) 

x = random.sample(name,input( "please enter the number of volunteers needed" ))
print x 

我想要的不是 name = ( xxxxxxxxxxxxx ),而是想让 name = .txt 文件。

这样每次我想更改名字的时候,只需要在 .txt 文件里修改就可以了。

我正在为学校的志愿者俱乐部做一个程序,这样选出的志愿者是随机的,不会有偏见。这样每个人都有比较公平的机会。 :)

5 个回答

1

你可以简单地用换行符把名字写进一个文本文件里:

with open('names.txt') as f:
    names = f.read().splitlines()
2

欢迎来到Python的世界 :-]

你觉得这样怎么样呢?

import random
fid = open('names.txt', 'r')
names = fid.readlines()

number_needed = raw_input('please enter the number of volunteers needed: ')

print random.sample(names, int(number_needed))
3
file = open('myFile.txt', 'r')
names = file.read().split(',')
file.close()

把这个替换掉你的 name = ... 这一行,你就可以继续了。

你可以在 这里 阅读更多关于在Python中读取和写入文件的内容。

注意,我假设你文件里的名字是用逗号分开的。你也可以把每个名字放在单独的一行,然后用 names = file.readlines() 来读取。

撰写回答