Seite 1 von 1

Anfängerfrage: if-Anweisung

Verfasst: Sonntag 10. Februar 2013, 00:11
von PythonJan
Hallo,
möchte mich direkt für die Frage entschuldigen, aber ich find nun seit zwei Tagen nicht raus was ich hier falsch mache.. Habe jetzt ganz neu mit Python angefangen und hab ein paar C Erfahrungen und kenn mich recht gut mit LabVIEW aus.. sicher hab ich daher ein paar Denkweisen im Kopf die nicht so einfach auf Python zu übertragen sind.

Meine Idee: Zum üben eine ganz simple "Datenbank":

Code: Alles auswählen

#!/usr/bin/env python
""" Datenbank """

betrieb = True
print ("Willkommen in der Datenbank!")

while betrieb:
	Aufgabe = int(raw_input("Bitte Aufgabe definieren: /n 1: Kontakt suchen /n 2: Kontakt anlegen /n 3: Beenden")
	if Aufgabe == 1:
		print ("Kontakt auslesen")
	elif Aufgabe == 2:
		print ("Kontakt erstellen")
	else:
		print ("Auf wiedersehen!")
		betrieb = False
Wieso bekomm ich hier direkt die folgende Fehlermeldung:

Code: Alles auswählen

if Aufgabe == 1:
           ^
SyntaxError: invalid syntax
Hab schon gegoogled, 2 Internet-Tutorials gelesen und auch hier im Forum gesucht... Ich glaub die Sache ist die, dass mein Problem zu trivial ist :/
Wär toll wenn sich jemand kurz die Zeit nehmen könnte mir zu zeigen was ich hier falsch mache.
Danke schon mal!

Re: Anfängerfrage: if-Anweisung

Verfasst: Sonntag 10. Februar 2013, 00:14
von pillmuncher
@PythonJan: Zähl mal, wieviele Klammern du in der Zeile darüber öffnest, und wieviele du wieder schließt...

Re: Anfängerfrage: if-Anweisung

Verfasst: Sonntag 10. Februar 2013, 00:57
von PythonJan
Oh nein.
Ich hab's geahnt.. wie blöd

Ich muss echt erstmal etwas reinkommen, sorry.

Nichtsdestotrotz: Vielen Dank für deine Antwort! Ich hätte wahrscheinlich noch eine ganze Weile gebraucht. Hatte mir wegen der Error Meldung immer die falsche Zeile angeguckt :/

Tja.. ich glaube der Gehalt dieses Themas geht gegen null.. Falls ein Admin das hier liest kann er das Thema ja vielleicht schließen..

Re: Anfängerfrage: if-Anweisung

Verfasst: Sonntag 10. Februar 2013, 09:06
von /me
PythonJan hat geschrieben:Tja.. ich glaube der Gehalt dieses Themas geht gegen null.
Definitiv nicht. Bei Stackoverflow kommt das Thema mehrmals pro Woche.

Re: Anfängerfrage: if-Anweisung

Verfasst: Sonntag 10. Februar 2013, 12:30
von Leonidas
Das Problem ist halt, dass der Interpreter da immer die Zeile unten drunter anzeigt. Wenn man länger Python programmiert, dann kennt man das (oder nutzt einfach nen Editor mit Klammern-Highlighting oder automatischer Klammersetzung).

Re: Anfängerfrage: if-Anweisung

Verfasst: Montag 11. Februar 2013, 15:48
von Dingels
Es bleibt noch zu erwähnen, dass deine Verwendung der while-Schleife ziemlich umständlich ist. Die Variable betrieb ist hier überflüssig. Um aus einer Schleife auszubrechen, nutze das Schlüsselwort break stattdessen:

Code: Alles auswählen

#!/usr/bin/env python
""" Datenbank """

print ("Willkommen in der Datenbank!")

while True:
        Aufgabe = int(raw_input("Bitte Aufgabe definieren: /n 1: Kontakt suchen /n 2: Kontakt anlegen /n 3: Beenden"))
        if Aufgabe == 1:
                print ("Kontakt auslesen")
        elif Aufgabe == 2:
                print ("Kontakt erstellen")
        else:
                print ("Auf wiedersehen!")
                break

Re: Anfängerfrage: if-Anweisung

Verfasst: Montag 11. Februar 2013, 16:00
von BlackJack
Da sollte man dann vielleicht noch sagen, dass die Klammern bei den ``print``-Anweisungen nichts zu suchen haben.

Re: Anfängerfrage: if-Anweisung

Verfasst: Dienstag 12. Februar 2013, 08:38
von /me
BlackJack hat geschrieben:Da sollte man dann vielleicht noch sagen, dass die Klammern bei den ``print``-Anweisungen nichts zu suchen haben.
Während sie bei Python 3 bei den print-Funktionen zwingend verwendet werden müssen.

Re: Anfängerfrage: if-Anweisung

Verfasst: Dienstag 12. Februar 2013, 09:28
von Sirius3
/me hat geschrieben:Während sie bei Python 3 bei den print-Funktionen zwingend verwendet werden müssen.
... und bei Funktionen das Leerzeichen zwischen print und ( nichts zu suchen hat.

Re: Anfängerfrage: if-Anweisung

Verfasst: Dienstag 12. Februar 2013, 09:52
von /me
Sirius3 hat geschrieben:... und bei Funktionen das Leerzeichen zwischen print und ( nichts zu suchen hat.
Hier sollte man dann direkt auf PEP-8, den Style Guide for Python Code verweisen und in diesem Kontext insbesondere auf Whitespace in Expressions and Statements.