2

私は、自分が所属しているロボティクス チームが競技中にデータを収集し、「提携」するのに最適なチームを見つけるためのプログラムを書いているところです。約 20 個の値を収集する必要があり、さまざまなパラメーターでデータを一覧表示できる必要があります。私は多くのフレームワークを完了しましたが、データをリストに追加すると、追加時にすべてのエントリが変更されるようです。

たとえば、私が持っている場合

data = [{"teamNumber":1345,"teamName":"Blah"}]

追加してみてください

{"teamNumber":3219,"teamName":"TREAD"}

append() を使用してデータに

data = [{"teamNumber":3219,"teamName":"TREAD"},{"teamNumber":3219,"teamName":"TREAD"}]

現在、この関数を使用してデータを追加しています(不要な「肉」のほとんどがトリミングされています)

def inputTeamData(): 
    global data
    clear()
    temp = dataTemplate

    temp["teamNumber"] = question("Team Number?: ")
    temp["teamName"] = question("Team Name?: ")
    temp["foundingSeason"] = question("Founding Season?: ")

    save = question("Is the above data correct?(y/n): ")


    if save.lower() == "y":
        try:
            data.append(temp)
        except ValueError:
            print "ValueError. You gave me the wrong data types"
            sleep(1)

            else:
                print "Not saved"
                sleep(.8)

答えがばかばかしいほど明白である可能性が高いにもかかわらず、何が得られるのかわかりません。問題を見つけることができません。

とにかく、これで私を助けることができる人へのアドバイスに感謝します!

4

1 に答える 1

6

最初にいくつかの Python の基本を学ぶ必要があります。

temp = dataTemplate

dataTemplate新しい変数にコピーしませんtemp! 代わりに、「dataTemplate」と名付けた元の辞書にエイリアス「temp」を与えます。temp[ .. ] =「temp」は「dataTemplate」の単なるエイリアスであるため、書き込むたびに同じ元の辞書を変更します。

あなたがしたい

temp = dataTemplate.copy()
于 2013-03-16T20:41:31.713 に答える