Christian Selmer: > Jochen Schulz schrieb: > > > >Man *darf* nicht. Bsp: > > > >def make_foo(bar): > > if bar < 99: > > print '%s is small' % bar > > else: > > i = 100 > > while i < bar: > > print '%s is larger than %s' % (bar, i) > > i += 100 > > pass > > > vielleicht bin ich zu müde, jedenfalls stehe ich auf dem Schlauch. Mir > fällt an deinem Programm auf, dass falls bar 99 oder 100 beträgt, nichts > ausgegeben wird. Yup, off-by-one. > Ansonsten sind nach meinen bescheidenen Kenntnissen die > Aussagen > 255 > 100 und > 255 > 200 > doch korrekt. > Was ist daran Unsinn? Unsinn ist, daß die Funktion nichts Sinnvollesn tut. Ich hab nur grad irgendeinen lauffähigen Quatsch hingeschrieben, um die Syntax zu zeigen. > Was hat das denn mit Klammern zu tun? (kenne python > ebenfalls nicht) In Java (C ähnlich) macht man doch if foo { bar; } else { baz; } Analog für Schleifen. Die Einrückung ist hier optional, dh der Compiler besteht nicht darauf. In Python macht man stattdessen: if foo: bar else: baz Da eine ordentliche Einrückung sowieso für jeden Programmierer Pflicht sein sollte, wurde sie gleich zum Syntaxelement gemacht und die dann redundanten Klammern weggelassen. Außerdem fallen die Semikola weg - das Zeilenende ist das Ende einer Anweisung, wenn die Zeile nicht mit einem '\' endet. J. -- I no longer believe my life will be long, happy, interesting or fulfilled [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
Attachment:
signature.asc
Description: Digital signature