Seite 1 von 1

Nicht verständlicher Syntax-Fehler

Verfasst: Freitag 18. März 2016, 21:15
von hexflame
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()

Re: Nicht verständlicher Syntax-Fehler

Verfasst: Freitag 18. März 2016, 21:31
von bwbg
Sieh Dir mal die dritter Zeile (answer =) in der Funktion menue an ...

Re: Nicht verständlicher Syntax-Fehler

Verfasst: Freitag 18. März 2016, 22:01
von 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.