Kann mir jemand sagen, was ich falsch gemacht habe?

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
yeet
User
Beiträge: 6
Registriert: Freitag 17. August 2018, 19:36

Sonntag 26. August 2018, 20:20

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!")


__deets__
User
Beiträge: 7632
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 26. August 2018, 20:27

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.
naheliegend
User
Beiträge: 52
Registriert: Mittwoch 8. August 2018, 16:42

Sonntag 26. August 2018, 22:47

__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...
Benutzeravatar
pixewakb
User
Beiträge: 1275
Registriert: Sonntag 24. April 2011, 19:43

Sonntag 26. August 2018, 23:08

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!")
Antworten