Seite 1 von 1

Hilfe

Verfasst: Mittwoch 9. November 2022, 22:05
von Frank941
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

Re: Hilfe

Verfasst: Mittwoch 9. November 2022, 22:49
von __blackjack__
@Frank941: Die erste Zeile ist schon kein gültiges Python. Da gibt es einen SyntaxError:

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
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.

Re: Hilfe

Verfasst: Mittwoch 9. November 2022, 23:17
von Frank941
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!

Re: Hilfe

Verfasst: Donnerstag 10. November 2022, 06:09
von sparrow
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.

Re: Hilfe

Verfasst: Donnerstag 10. November 2022, 12:35
von Frank941
Ja, ich wollte keine Lösung von euch bekommen, sondern nur eine Erklärung die mir vllt helfen könnte.

Ich verstehe besonders nicht wie ich das unten interpretieren muss.

for k in d:
v = d[k]
a[v] = k


Danke im Voraus!

Re: Hilfe

Verfasst: Donnerstag 10. November 2022, 12:43
von __blackjack__
@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.

Re: Hilfe

Verfasst: Donnerstag 10. November 2022, 12:43
von __deets__
Welche Werte nimmt k an, welche nimmt v an, und welche Werte muss v annehmen, damit die zugewiesenen k korrekt sind?

Re: Hilfe

Verfasst: Donnerstag 10. November 2022, 13:06
von kbr
@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.