Python帮助 ---> 从文本文件随机选择名字
我想在一个名为 '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()
来读取。