Nicht verständlicher Syntax-Fehler

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
hexflame
User
Beiträge: 11
Registriert: Freitag 18. März 2016, 20:49

Liebes Forum!
Ich biin ein Anfänger in Python und ich habe sobalt ich dieses script starte, einen Syntax-Fehler, welchen ich nicht so ganz verstehe.
Diesen habe ich markiert. Für Allgemeine Verbesserungsvorschläge sowie Tipps bin ich offen!
PS: Ich benutze Python 3.4.3

Code: Alles auswählen

import os

def clear():
	os.system('clr' if os.name == 'nt' else 'clear')

def wait():
	a = input("")

def menue():
	clear()
	print("l0st\n\nstart\n\nexit\n")
	answer = str(input("Please choose one menue-point\n:")
	if answer == 'exit': # <- Das Zeichen ':' ist markiert 
		clear()
		exit()
	elif answer == 'start': 
		return None
	elif answer != 'start' and answer != 'exit':
		clear()
		print("InputError!\n")
		wait()
		return menue()
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Sieh Dir mal die dritter Zeile (answer =) in der Funktion menue an ...
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
BlackJack

@hexflame: Die letzte Bedingung negiert alle vorhergehenden was unnötig ist, weil man das einfach mit einem ``else`` erledigen könnte.

`wait()` hätte man deutlich kürzer definieren können als ``wait = input``.

Was erhoffst Du Dir von dem `str()`-Aufruf mit dem Rückgabewert von `input()`?

Der rekursive Aufruf von `menue()` ist ein Fehler. Rekursion ist kein Ersatz für einfache Schleifen weil das wegen dem Rekursionslimit nur eine zeitlang gut geht und dann in einer Ausnahme endet.
Antworten