一連の数字を入力し、その人から与えられたデータからランダムに生成されたペアのリストを作成する簡単なプログラムを作成しました。終了後にデータを (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 からランダムな値を選択して、それらを 1 つのオブジェクトとして pList に配置します。ただし、vListから「y」の出力を削除すると、nListからも削除されるという問題が発生します。
例: nList に [1, 2, 3, 4, 5] の 5 つのオブジェクトが含まれ、vList に同じオブジェクト [1, 2, 3, 4, 5] がある場合。nList のすべての値に対して、vList から乱数を選択します。ただし、vList から変数が選択されると、リストから削除されます。問題は、pList が [1; として始まると言うことにあります。2] どこで 1; 2 は 1 つのオブジェクトで、次のオブジェクトは 3 から始まります。2 は 'y' 値として既に使用されているため、2 をスキップします。