Modulares programm

Code-Stücke können hier veröffentlicht werden.
Antworten
Solstice
User
Beiträge: 2
Registriert: Freitag 29. Dezember 2017, 17:26

Freitag 29. Dezember 2017, 19:40

Ein bisher noch kleines programm, dem ihr mehr hinzufügen könnt!
Folgt einfach dem beispiel der schon enthaltenen Programme und gebt euren Code dazu!

Der Code:
print("type menu()")
#menu========================================================
def menu():
print("type menu() while no programm is running")
print("to access this menu")
print("")
print("available apps:")
print("")
print("jwrite()")
print("dialouge()")
#============================================================




#===========================================================
#justwrite
#===========================================================
def jwrite():
print("a simple text processor with line indication,")
print(" no save or features, jwriteS() to start")
#-------------------------------------------------------------------------------------
def jwriteS():
print("type //end to exit")
line=10
run="true"
while run=="true":
a=input(line)
line=line+1
if a=="//end":
run="false"
#============================================================


#===========================================================
#write a dialouge
def dialouge():
print("a simple programm to write a dialouge")
print("no save, dialogeS() to start")
#-------------------------------------------------------------------------------------
def dialougeS():
you=input("input your name please ")
partner=input("Who do you want to talk to? ")
s=" "
f=1
print("type //end to exit")
while f==1:
a=input(you + s)
print(" ")
b=input(partner + s)
print(" ")
if a=="//end":
f=2
#===========================================================
Sirius3
User
Beiträge: 8082
Registriert: Sonntag 21. Oktober 2012, 17:20

Freitag 29. Dezember 2017, 22:56

@Solstice: das Programm sieht so aus, als ob man in der interaktiven Konsole Funktionen aufrufen müßte, damit es funktioniert. Normalerweise will der Anwender aber ein Menü haben, das man z.B. auch über »input« und »if« realisieren könnte. Durch die Einrückung wid ein Programm schon genug strukturiert, da braucht es diese Trennkommentare nicht. In »jwriteS« benutzt Du eine Variable »run« mit den beiden Stringliteralen "true" und "false", in »dialougeS« die Variable »f« mit 1 und 2 für den selben Zweck. Ein Grundsatz des Programmierens ist, die selben Dinge auf die selbe Art zu lösen, warum benutzt Du zwei verschiedene? Die erste Variante ist deutlich besser, weil run ein besserer Name als f ist und weil "true" und "false" mehr sagen als 1 und 2. Noch besser wäre tatsächlich die boolschen Werte »True« und »False« zu verwenden, am allerbesten wäre eine Endlosschleife »while True:« die mit »break« verlassen wird. In »jwriteS« wird zu weit eingerückt. Das nächste mal, wenn Du im Forum Code postest, benutze die CodeBox (Dropdown mit »Code auswählen« über dem Editierfeld).
Antworten