Seite 1 von 1

Kann mir jemand sagen, was ich falsch gemacht habe?

Verfasst: Sonntag 26. August 2018, 20:20
von yeet
Hallo,

zuerst einmal: Nein, das ist nicht für die Schule oder das Studium :). Ich möchte mit meinem Programm bewirken, dass zuerst das erste Element der l1 mit allen Elementen der l2 verglichen wird. Wenn das erste Element der l1 mit irgendeinem Element der l2 übereinstimmt, soll er "Alles gut!" ausgeben, sonst soll er "E-Mail senden" ausgeben. Das gleiche mit dem 2. und 3. Element der l1. Was ist mein Fehler im Code bzw. was kann ich verbessern, damit das Programm das macht, was ich will? Sorry, ich bin noch Anfänger :).
Vielen Dank für die Hilfe im Voraus!

Code: Alles auswählen

l1 = ["Test1", "Test2", "Test3"]
l2 = ["Test1", "Test2", "Test3"]

for x in range(0, len(l1)):
    for i in range(0, len(l2)):
        if l1[x] == l2[i]:
            print("Alles okay!")
        else:
            print("E-Mail senden!")



Re: Kann mir jemand sagen, was ich falsch gemacht habe?

Verfasst: Sonntag 26. August 2018, 20:27
von __deets__
Du pruefst ja in zwei Schleifen, ob *jedes* Element in der zweiten Liste gleich dem momentan gewaehlten der ersten entspricht. Und das ist ja nun nicht richtig, oder?

Zwei Hinweise:

Vergiss sofort, mit Listen und range/xrange zu arbeiten. Das macht man so nicht in Python, und es macht dir das Leben unnoetig schwer. Ein simples

Code: Alles auswählen

for item in liste:
gibt dir direkt das gewuenschte Element, statt da muehselig per Index rumzufummeln.

Und der zweite Hinweis: wenn du pruefen willst, ob ein Element in einer Liste (oder generell in allem, was in Python eine Sequenz von Dingen darstellt) vorhanden ist, gibt es dazu den in-Operator:

Code: Alles auswählen

print("test" in ("a", "b", "test"))
Mit den beiden Hinweisen sollte das jetzt klappen.

Re: Kann mir jemand sagen, was ich falsch gemacht habe?

Verfasst: Sonntag 26. August 2018, 22:47
von naheliegend
__deets__ hat geschrieben: Sonntag 26. August 2018, 20:27 Vergiss sofort, mit Listen und range/xrange zu arbeiten. Das macht man so nicht in Python, und es macht dir das Leben unnoetig schwer. Ein simples
(...)
gibt dir direkt das gewuenschte Element, statt da muehselig per Index rumzufummeln.
Haha, ich mache das auch immer so. Matlab und Structured Text brachten es mir bei...

Re: Kann mir jemand sagen, was ich falsch gemacht habe?

Verfasst: Sonntag 26. August 2018, 23:08
von pixewakb
SICNR

Code: Alles auswählen

list_one = ["Test1", "Test2", "Test3"]
list_two = ["Test1", "Test2", "Test3"]

for item in list_one:
    if item in list_two:
        print("Everything is OK!")
    else:
        print("Send email!")