私は、イベントに出席する人の数を集めるコードを書こうとしています。入力された人の数に基づいて、私は何度もa)個体の名前、b)彼らが寄贈したおもちゃの数を聞いてきます。私は情報を別の関数に渡す辞書に入れておきたい。 2番目の機能は、20個以上のおもちゃを寄付した人を選び、その名前と寄付されたおもちゃの数を「レベル1」、それから他のすべてを「レベル2」として印刷します。辞書からのpython印刷
データがある関数から別の関数に正しく渡されていることを確認しました。寄付金額を印刷せずに[]を発行している問題があります。また、レベルの下にエントリをリストする代わりに、各エントリの上にレベルを印刷し続けます。言い換えれば、私が取得しようとしている:
レベル1
セレナゴメス50
ビヨンセ40レベル2
ウィル・スミス5
私が間違って何をやっています?ここで
は私のコードです:
def data():
people = int(input("How many individuals are attending? "))
attendees = {}
for i in range(people):
name = str(input('Please enter name: '))
amount = int(input('Number of toys donated:'))
attendees[name]= [amount]
return attendees
def print_data():
attendees = data()
for i in attendees:
if attendees[i][0] > 20:
print('Level 1')
print(i, attendees[i])
else:
print('Level 2')
print(i, attendees[i])
print_data()
そして、ここでは私の出力です:
参加しているどのように多くの人々? 3
名前を入力してください:寄贈さおもちゃのウィル・スミス
数:5
名前を入力してください:セレナゴメスは、寄付さおもちゃの
番号:ビヨンセ:50
名前を入力してくださいを
寄付された玩具の数:40
レベル2
ウィル・スミス[5]レベル1
セレナゴメス[50]レベル1
ビヨンセ[40]
ただ、ここで括弧を削除: '出席者の[名前] = [量]は' '出席者の[名前] = amount'する必要がありますそうでなければ、辞書にリストを保存しています。そのため、出力に角括弧が表示されます。 – Igle
なぜ最初にカッコを追加していますか? – quamrana