Listen und Strings

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
19mareut
User
Beiträge: 35
Registriert: Freitag 21. Februar 2020, 19:40

Wie manche ja vielleicht mitbekommen habe, bin ich recht neu in python und möchte nen mtg kartensucher programmieren.
Naja wie dem auch sei, ich habe die codezeile

cards = lower(['Kethis, the Hidden Hand','Kenrith, the Returned King'])

also stark vereinfacht. Ich möchte, dass alle strings in der Liste als klein gelesen werden und verwertet werden, da ich die Namen importieren möchte und nicht alles groß schreiben möchte bei der suche oder jede einzelnen Namen noch einmal verändern muss.
Wie bekomme ich das hin und was ist an der Zeile falsch?
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

In der Zeile ist nichts falsch. Weiter hast du den die Funktion lower definiert?
Lerne die Grundlagen von Python und du weißt wie Du dein Problem lösen kannst. Mit welcher Quelle lernst du denn Python? Das werden sicher Schleifen und Stringnerhoden erklärt.
19mareut
User
Beiträge: 35
Registriert: Freitag 21. Februar 2020, 19:40

ich dachte lower is ne vordefenierte funktion??
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Da dachtest Du falsch. Am besten Du probierst solche Sachen erst einmal im Interaktiven Modus aus, dann siehst Du sofort, ob es funktioniert oder nicht:

Code: Alles auswählen

>>> cards = lower(['Kethis, the Hidden Hand','Kenrith, the Returned King'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'lower' is not defined
19mareut
User
Beiträge: 35
Registriert: Freitag 21. Februar 2020, 19:40

deswegen frag ich ja
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Jetzt weißt Du es ja, und kannst es in Zukunft auch noch selbst herausfinden.
19mareut
User
Beiträge: 35
Registriert: Freitag 21. Februar 2020, 19:40

hä, du hast immer noch nicht gesagt was jz falsch ist und wie es richtig heißen sollte, nichmal nen ansatz ^^
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Den Ansatz habe ich Dir gegeben: lerne Python.
Du brauchst eine Methode von str und eine Schleife.
Mehr Ansatz geht fast nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@19mareut: Wenn Du denkst das ist eine vordefinierte Funktion, dann kannst Du auch in der Python-Dokumentation nachschlagen. Da ist auf fast jeder Seite in der HTML-Fassung oben rechts ein Link zum Index, wo Du `lower()` suchen kannst. Und da findet man dann drei Datentypen die eine solche Methode besitzen: `bytearray`, `bytes` und `str`.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
19mareut
User
Beiträge: 35
Registriert: Freitag 21. Februar 2020, 19:40

und ihr könnt mir nicht einfach sagen, wie das geht? da sind nämlich bestimmt 100 seuten wenn ich lower suche, und da das ja falsch ist, weis ich nich wonach ich sonst suchen soll
ElektroBerry
User
Beiträge: 31
Registriert: Samstag 16. Mai 2020, 18:52

Ich vermute mal, weil man denkt, dass es Grundlagen in Python sind.
Diese 2 Sachen benötigst du um dein Problem zu lösen:

https://www.python-lernen.de/string-methode-lower.htm
https://www.python-kurs.eu/list_comprehension.php
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@19mareut: Wenn man über den Index zu den *drei* Datentypen in der Standardbibliothek gelangt die eine `lower()`-Methode besitzen, dann sind das keine 100 Seiten sondern drei. Es ist sowohl wichtig die Grundlagen zu lernen, als auch sich in der Python-Dokumentation zurecht zu finden. Also zum Beispiel den Index zu kennen und ihn zu benutzen. Das sind Sachen die man immer und immer wieder benötigt.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
19mareut
User
Beiträge: 35
Registriert: Freitag 21. Februar 2020, 19:40

ja genau sowas danke
Antworten