Seite 1 von 1

loop funktion

Verfasst: Mittwoch 9. März 2022, 00:13
von dakila
Moin zusammen,

ich sitze jetzt schon paar Stunden daran und versuche die loop Funktion richtig zu nutzen, allerdings ist das irgendwie ein schwieriges Unterfangen für mich..
Folgendes Problem habe ich:


Code: Alles auswählen

for t1 in range (1,29,+2):
      for i1 in range (1,30):
             if mt[t1] == lt[i1]:
                   t1n = lt[i1]
                        st[t1] = 0
Sobald ich das starte, wird mt[t1] nicht als zb mt1 erkannt sondern nur als mt, das selbe geschieht auch mit lt.
Ich denke, irgendwo habe ich einen Denkfehler und würde mich über jede Hilfe freuen :)

Besten Dank im Voraus!

Re: loop funktion

Verfasst: Mittwoch 9. März 2022, 08:26
von Sirius3
Du führst hier ohne Erklärung etliche Variablen ein, und beschreibst auch nicht, was Dein Ziel ist.
Die Einrückungen stimmen nicht, was das Verstehen des Codes nochmals erschwert.
Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht mal 6 und mal 7.

Erster Schritt wäre, sprechende Variablennamen zu verwenden. Was ist mt oder lt oder st? Woher kommen die, was ist deren Inhalt?
Warum haben t1 und i1 jeweils eine 1? Was ist der Sinn davon?
Im ganzen Code kommt kein `mt1` vor. Ohne dass das definiert wird, kann es natürlich auch nicht erkannt werden.

Erkläre zuerst Deine Aufgabe, die Du lösen möchtest, dann liefere ein Codebeispiel, das alles enthält, was zum Verstehen gebraucht wird, inklusive sprechender Variablennamen, und poste eventuell auftretende Fehlermeldungen.

Re: loop funktion

Verfasst: Mittwoch 9. März 2022, 13:43
von dakila

Code: Alles auswählen

(Variablen die sich nicht ändern)
lt1 = "name1"
....
lt7 = "name7"
lt10 = "name10"

(Variablen die sich immer wieder ändern)
mt1 = "name7"
....
mt10 = "name3"

te1 = ""

for i1 in range (1,10):
    if mt1 == lt[i1]:
        te1 = lt[i1]

print (te1)
Mein Problem ist, wie kann ich die loop Funktion so nutzen, dass die Variablen mit lt[i1] als lt1 bis lt10 durchlaufen und so mit mt1 verglichen werden :?:
In diesem Fall müsste mt1 bei lt7 erkennt, dass der Name identisch ist und somit auch mit te1 "name7" ausgeben.
Geht so aber nicht, da ich wohl irgendwas absolut falsch mache, nur weiß ich nicht genau wo mein Denkfehler liegt. Eine Idee?

Re: loop Funktion wen

Verfasst: Mittwoch 9. März 2022, 14:00
von __deets__
Wenn du Variablen durchnummerierst, willst du eigentlich eine Datenstruktur, wahrscheinlich eine Liste. Auf die kannst du auch mit dem []-operator zugreifen.

Und eine wirkliche Erklärung, was das Programm macht, ist das auch nicht.

Re: loop funktion

Verfasst: Mittwoch 9. März 2022, 15:41
von ThomasL
Ich habe mal versucht deine Erklärung umzusetzen.

Code: Alles auswählen

KONSTANTEN = ["name1", "name2", "name3", "name4", "name5", "name6", "name7", "name8", "name9", "name10"]

variable_namen = ["name7", "name3", "hans", "fritz", "egal", "was", "weiss", "ich"]

for name in variable_namen:
    if name in KONSTANTEN:
        print(name)