我创建了一个简单的程序,可让您输入一组数字,然后根据该人提供的数据创建一个随机生成的对列表。完成后如何保存数据(作为 Windows 文件)?这是我的代码:
import random as ran
import easygui as eg
nList=vList=eg.multenterbox(msg="Enter the names of the people:"
, title="Random Pair Generator"
, fields=('Name:', 'Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:','Name:',)
, values=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']
)
index=0
x=''
y=''
pList=[]
pair=''
while not(index==len(nList)):
x=nList[index]
y=ran.choice(vList)
pair=x+'; '+y
pList.insert(index, pair)
vList.remove(y)
index= index+1
eg.textbox(msg="These are the pairs generated."
, title= "Random Pair Generator"
, text= str(pList)
, codebox=0
)
我只想将 pList 保存为文件,放在我电脑上的任何地方(最好是我可以指定的地方)。此外,这个循环会产生一个问题。它不会引发语法或任何错误,但输出不是我想要的。
它的作用是使用 nList 中的每个值,然后从 vList 中选择一个随机值,然后将它们作为一个对象放入 pList 中。然而,问题出现了,当我让它从 vList 中删除“y”的输出时,它也会从 nList 中删除它。
示例:如果 nList 包含 5 个对象:[1, 2, 3, 4, 5] 并且 vList 具有相同的对象 [1, 2, 3, 4, 5]。它会从 vList 中为 nList 中的每个值选择一个随机数。但是,一旦从 vList 中选择了一个变量,它就会从列表中删除。问题是说 pList 以 [1; 2] 其中1;2 是一个对象,下一个对象将从 3 开始。它会跳过 2,因为 2 已经用作“y”值。