Ich versuche, Code zu schreiben, der die Anzahl der Personen an einer Veranstaltung sammeln wird. Basierend auf der Anzahl der Personen werde ich oft a) nach dem Namen der Person fragen, b) nach der Anzahl der gespendeten Spielsachen. Ich möchte, dass die Information in ein Wörterbuch eingegeben wird, das ich an eine andere Funktion weitergeben werde. Die zweite Funktion wird Personen auswählen, die mehr als 20 Spielzeuge gespendet haben und ihren Namen und die Anzahl der Spielzeuge, die gespendet wurden, als "Level 1" und dann alle anderen als "Level 2" ausdrucken.Python Drucken aus dem Wörterbuch
Ich habe überprüft, um sicherzustellen, dass die Daten korrekt von einer Funktion an eine andere weitergegeben werden. Ich habe Probleme, den Spendenbetrag ohne die [] zu drucken. Außerdem wird die Ebene über jedem Eintrag gedruckt, anstatt die Einträge unterhalb der Ebene aufzulisten. Mit anderen Worten, ich versuche zu bekommen:
Stufe 1
Selena Gomez 50
40 BeyonceStufe 2
Will Smith 5
Was mache ich falsch ?
ist hier mein Code:
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()
Und hier ist meine Ausgabe:
Wie viele Personen teilnehmen? 3
Bitte geben Sie Name: Will Smith
Anzahl von Spielzeug gespendet: 5
Bitte geben Sie Name: Selena Gomez
Anzahl von Spielzeug gespendet: 50
Bitte geben Sie Name: Beyonce
Anzahl der gespendeten Spielzeuge: 40
Stufe 2
Will Smith [5]Stufe 1
Selena Gomez [50]Stufe 1
Beyonce [40]
Entfernen Sie einfach die Klammern hier: 'Teilnehmer [Name] = [Menge]' sollte 'Teilnehmer [Name] = Menge' sein sonst speichern Sie eine Liste im Wörterbuch. Aus diesem Grund werden die Klammern in der Ausgabe angezeigt. – Igle
Warum fügen Sie die Klammern an erster Stelle hinzu? – quamrana