Hilfe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Frank941
User
Beiträge: 3
Registriert: Mittwoch 9. November 2022, 21:57

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
Benutzeravatar
__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:

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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Frank941
User
Beiträge: 3
Registriert: Mittwoch 9. November 2022, 21:57

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!
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

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.
Frank941
User
Beiträge: 3
Registriert: Mittwoch 9. November 2022, 21:57

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!
Benutzeravatar
__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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Welche Werte nimmt k an, welche nimmt v an, und welche Werte muss v annehmen, damit die zugewiesenen k korrekt sind?
Benutzeravatar
kbr
User
Beiträge: 1508
Registriert: Mittwoch 15. Oktober 2008, 09:27

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