Hallo liebe Leute,
ich beschäftige mich seit ein bisschen Zeit mit Python und heute habe ich eine erste Schwierigkeit:
d = {1: 2, ?? : 4, -5: ??, 2: 0,?? : ??}
a = [0, 0, 0, 0, 0]
for k in d:
v = d[k]
a[v] = k
print(a)
Könnt ihr mir vielleicht helfen zu verstehe wie ich die Werte von d, die fehlen, haben kann?
Ich verstehe nicht gut wie ich v benutzen muss....
danke euch für die Tipps!
Lg
Francesco
Hilfe
- __blackjack__
- User
- Beiträge: 14069
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Frank941: Die erste Zeile ist schon kein gültiges Python. Da gibt es einen SyntaxError:
Zumindest mir ist auch so gar nicht klar was Du da überhaupt machen willst.
Es würde vielleicht auch helfen keine nichtssagenden, einbuchstabigen Namen zu verwenden. Namen sind dazu da dem Leser zu verraten was der Wert dahinter im Kontext des Programms bedeutet. Das ist nicht nur für ”fremde” Leser wichtig, sondern auch für den Autor von Code, denn daran kann man auch eigene Logikfehler erkennen wenn der Wert inhaltlich nicht zum Namen passt.
Code: Alles auswählen
In [106]: d = {1: 2, ?? : 4, -5: ??, 2: 0,?? : ??}
Input In [106]
d = {1: 2, ?? : 4, -5: ??, 2: 0,?? : ??}
^
SyntaxError: invalid syntax
Es würde vielleicht auch helfen keine nichtssagenden, einbuchstabigen Namen zu verwenden. Namen sind dazu da dem Leser zu verraten was der Wert dahinter im Kontext des Programms bedeutet. Das ist nicht nur für ”fremde” Leser wichtig, sondern auch für den Autor von Code, denn daran kann man auch eigene Logikfehler erkennen wenn der Wert inhaltlich nicht zum Namen passt.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
hallo!
die "???" sind die Lücken, die ausgefüllt werden müssen.
Praktisch muss ich "d " mit den richtigen Werten ausfüllen damit ich mit "print(a)" die Ausgabe lauten wird: [2, -5, 1, -3, 7] .
Hast du eine Idee wie ich vorgehen muss?
Danke dir im Voraus!
die "???" sind die Lücken, die ausgefüllt werden müssen.
Praktisch muss ich "d " mit den richtigen Werten ausfüllen damit ich mit "print(a)" die Ausgabe lauten wird: [2, -5, 1, -3, 7] .
Hast du eine Idee wie ich vorgehen muss?
Danke dir im Voraus!
Das macht es überhaupt nicht klarer.
Wo kommen denn Werte her, die gar nicht in den Ursprungsdaten enthalten sind?
Vielleicht solltest du ohne ungültigen Code einmal beschreiben, was eigentlich das Problem ist, das du lösen willst.
Edit: Oh, ich kann mir denken, was du machen musst. Aber du solltest uns das erklären. Wenn du selbst nicht das Problem nicht vermitteln kannst, wirst du es nicht lösen können.
Und offensichtlich ist das ja eine Lernaufgabe. Also hast du eine Aufgabe bekommen.
Wo kommen denn Werte her, die gar nicht in den Ursprungsdaten enthalten sind?
Vielleicht solltest du ohne ungültigen Code einmal beschreiben, was eigentlich das Problem ist, das du lösen willst.
Edit: Oh, ich kann mir denken, was du machen musst. Aber du solltest uns das erklären. Wenn du selbst nicht das Problem nicht vermitteln kannst, wirst du es nicht lösen können.
Und offensichtlich ist das ja eine Lernaufgabe. Also hast du eine Aufgabe bekommen.
- __blackjack__
- User
- Beiträge: 14069
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Frank941: Was daran verstehst Du denn nicht? Das sind ja alles Grundoperationen auf Wörterbüchern und Listen. Und noch mal der Hinweis: gib den Variablen mal sinnvolle Namen statt nur Buchstaben, damit der Code klarer/verständlicher wird.
Was ist `d`? Welchen Typ und welchen Wert hat das? Welche Typen/Werte wird dann `k` annehmen? Mach Dir das klar. Lies in der Dokumentation nach. Arbeite das Grundlagentutorial dort durch bis mindestens einschliesslich Schleifen, Wörterbücher, und Listen. Und dann überlege was da passiert, überprüfe ob da das passiert was Du erwartest, und falls das nicht der Fall ist, beschreibe mal konkret wo das Verhalten von dem abweicht was Du erwartest.
Was ist `d`? Welchen Typ und welchen Wert hat das? Welche Typen/Werte wird dann `k` annehmen? Mach Dir das klar. Lies in der Dokumentation nach. Arbeite das Grundlagentutorial dort durch bis mindestens einschliesslich Schleifen, Wörterbücher, und Listen. Und dann überlege was da passiert, überprüfe ob da das passiert was Du erwartest, und falls das nicht der Fall ist, beschreibe mal konkret wo das Verhalten von dem abweicht was Du erwartest.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
@Frank941: Das ist eine nette Hausaufgabe um Schleifen über Dictionaries, den Zugriff auf Dictionaries sowie die Nutzung von Index-Werten zur Zuweisung von Werten in Listen zu verstehen. Das habt ihr sicher gehabt, bevor eine solche Aufgabe gestellt wird. Vielleicht helfen Dir die Stichworte weiter.