私の問題は、任意の入力(正しい形式)が与えられたときにdancer_placings
のコードが正しく生成されません。私はそれが{'1': {'foo': 0},{'bar': 0}}
2つのリストから生成された辞書は、私がしたいことをしていません
になりたいとき1人のダンサーの入力は、数1で、fooとbarという名前の2人の踊りは、辞書dancer_placings
は{'1': {'bar': 0}}
ですが、私は明らかにミスを犯してきたので、どのように私は自分のコードを修正することができますそれは私がそれをするつもりですか?私は、問題はあなたがそれぞれのダンスのためのdancer_placingsの値を上書きしていることだと思います
print("Welcome to Highland Scrutineer")
dancers = []
dances = []
dancer_placings = {}
dancers = []
dancer_num = int(input("How many dancers were there?: "))
while len(dancers) + 1 <= dancer_num:
dancers.append(input("What was the number of the dancer? "))
print("The list of dancers is:")
for dancer in dancers:
print(dancer)
dances = []
dance_num = int(input("How many dances did these dancers compete in? "))
while len(dances) + 1 <= dance_num:
dances.append(input("What was the name of the dance? "))
print("The list of dances is:")
for dance in dances:
print(dance)
for dancer in dancers:
for dance in dances:
dancer_placings.update({dancer:{}})
dancer_placings[dancer].update({dance:0})
print(dancer_placings)
感謝を!私のコードには、私が取り組まなければならない問題は何と思いますか?私は関数を実装することを知っていますし、クラスが自分のコードの構造に役立つかもしれませんが、今はこれが私にとって合理的なプロジェクトであるかどうかを確認する概念です。 – Artillect
最大の提案は、エッジケースを扱うことです。たとえば、ダンサーを0人にすると、依然として質問が続きます。 – AbrahamB
間違いなく私は忘れてしまっただろう!他に何か? – Artillect