echo $begrüßung;
print 'guten tag'
Du setzt nicht das normale Spiel fort, du rufst nach dem "t" die Funktion human rekursiv auf. Wenn darin kein "t" eingegeben wurde, landest du im else-Zweig von if abziehen == 't'. Duort gibst du mit return etwas zurück. Damit kehrst du wieder in den ursprünglichen Aufruf von human() zurüch und da dort keine weitere Anweisung auszuführen ist, beendet sich human(), und gibt dabei nichts zurück
Das erklärt einiges.
Soweit dazu. Gestattest du noch ein paar allgemeine Bemerkungen?
Immer her damit!
if __name__ == "__main__":
main()
Hast du vor, das als eingebundenes Modul laufen lassen zu können? Dann solltest du aber auch auf Dinge wie sys.exit() verzichten. Wenn nicht, kannst du das Hauptprogramm auch direkt und ohne main() laufen lassen (denn das ist typisch C und unter Python nicht nötig).
Nein eigentlich nicht. Diese Weise hat mir jemand empfohlen, falls es einfach dazu kommen sollte, es als Modul zu benutzen.
Es besteht auch keine Notwendigkeit, die Funktionen human() und computer() innerhalb von main() anzusiedeln.
Ok.
while abziehen in range(1, 4):
return 100
break
else:
print 'Schiedsrichter [%d]: Du darfst nur eine, zwei oder drei Münzen entfernen' % muenz
return 100Hier reicht zum einen ein einfaches if statt einer Schleife. Die Schleife bricht sowieso im ersten Durchlauf ab, indem die Funktion ganz verlassen wird und auch der else veranlasst ein Verlassen der Funktion. Außerdem ist das break überflüssig, da es wegen des vorangehenden return niemals ausgeführt wird.
Die Schleife hab ich nur eingebaut damit es wieder "zurückspickt" falls eine falsche Zahl angegeben wurde.
echo "$verabschiedung $name";
print 'tschuess', name
For Windows-Problems -> reboot
For Linux-Problems -> be root!