Frage von DrTyp, 24

Gibt es in Python eine and-or Funktion?

Hallo zusammen, ich schreibe im Moment ein Programm wo ich eine .txt Datei auslese und ich muss wissen ob drei Stellen entweder nur Buchstaben oder nur Leerstellen oder Buchstaben und Leerstellen enthält.

Viele Grüße und schon mal Danke im voraus

DrTyp

Antwort
von PWolff, 19

In den allermeisten Sprachen sind logische Funktionen nicht als Funktionen, sondern als (Infix- bzw. Präfix-) Operatoren ausgelegt.

Such mal im Internet nach

python logische operatoren

Ein interessanter Treffer hierzu ist:

http://www.mediasonics.ch/\_archiv/programming\_python/projekt/06.html#logisch

(vergiss nicht, genügend Klammern zu setzen)

Kommentar von DrTyp ,

In welchem Sinne Klammern?

Kommentar von PWolff ,

((a or b) and c)

(a or (b and c))

Antwort
von iMPerFekTioN, 24

Schau dir mal den Link dazu an

http://stackoverflow.com/questions/10149747/and-or-in-python

Grüße,

iMPerFekTioN

Kommentar von DrTyp ,

Auf der Website war ich auch schon... Leider ist die Antwort:

or is not exclusive (e.g. xor) so or is the same thing as and/or

nicht ganz zutreffend weil wenn dem so wäre hätte ich die Frage nicht gestellt

Aber trotzdem Danke für die schnelle Antwort

DrTyp



Kommentar von DrTyp ,

Naja vielleicht hast du ja doch recht... ich zeige euch einfach mal den Programm schnipsel:

if line[5:7].isalpha() or line[5:7].isspace():
Kommentar von iMPerFekTioN ,
if (line[5:7].isalpha()) or (line[5:7].isspace()):


Klappt das?

Kommentar von DrTyp ,

Ja, Danke, das hat geklapt

Kommentar von DrTyp ,

Danke! Das hat mir schon ein bisschen weiter geholfen.

Andere Frage:

Wie kann man überprüfen ob z.B. an der ersten Stelle eines String ein Großbuchstabe steht?

Grüße

DrTyp

Kommentar von iMPerFekTioN ,

Hmm, sollte das nicht eventuell mit Regulären Ausdrücken möglich sein?

mit

 if [variable] = [A-Z]*

oder etwas in der Art.

Schau mal nach Python und regex

Grüße,

iMPerFekTioN

Kommentar von DrTyp ,

Danke, ich versuch es mal.

Grüße,

DrTyp

Kommentar von iMPerFekTioN ,

Versuchs mal so ob das auch geht,

if [Variable] = [A-Z][a-zA-Z]*

Hier wird nämlich überprüft ob der erste Buchstabe Groß ist (also egal welcher A-Z aber eben Groß geschrieben) danach können x-beliebige Groß- oder Kleinbuchstaben zwischen a und z kommen.

Antwort
von xXFreddy, 2

Hi,

Zu der Frage in dem einem Kommentar:

(Falls sich die Frage nicht schon geklärt hat)

Wenn du in Python mit Regulären Ausdrücken arbeiten willst musst du das "re" Modul benutzen

bsp: 

import re
test = "Abc"
m = re.search("[A-Z][a-zA-]", test)
if m:
    <do something>

re.search gibt None zurück wenn nichts auf deinen Regulären Ausdruck zutrifft 

Du kannst dir dein match mit 

print m.group(0)

ausgeben lassen

bei weiteren Python Fragen einfach Fragen ;) 

MfG Freddy

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten