Hallo
ich habe ein Programm geschrieben, was folgendermaßen gegliedert ist:
Hauptmenü:
1.
2.
3.
4.
5.
6.
7.
8.
usw
if m == 1:
Submenü 1:
1.
2.
3.
if s==1:
Funktion 1:
if s==2:
Funktion 2:
if s==3:
Funktion 3:
if m == 2:
Submenü2:
1.
2.
3.
usw.
Nun möchte ich gerne in jedes Submenü den Menüpunkt Exit bzw back einbauen, der den Benutzer bei Eingabe der Nummer zurück zum Hauptmenü leitet.
Außerdem sollte nach Ablauf der ausgewählten Funktion die Option "back" erscheinen, die den Anwender zum Submenü zurück leitet.
Wie kann ich das umsetzen?
Hatte mir schon was bezüglich der "Zurück zum Hauptmenü" Funktion überlegt, wobei meine Versuche scheiterten und mir auch sonst keine Möglichkeit in den Sinn kommt:
Gesamtes Programm als Klasse definieren und in jedes Submenü eine Option einbauen, die die Klasse auf Befehl aufruft(müsste ja dann das Programm quasi neustarten)
"Zurück zum Hauptmenü" wie realisierbar?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
In welchem Kontext eigentlich? Sprichst Du von einer reinen Konsolenanwendung?
So ganz ohne Quellcode / Sinn der Anwendung ist es schwer, da etwas handfestes als Tipp zu nennen.
Wenn Du tatsächlich dermaßen intensiv mit solchen Menüs arbeitest, würde ich mir dafür eine brauchbare Datenstruktur überlegen und dazu eine Funktion, die den Menüablauf steuert und den aktuellen Zustand kennt. Damit kann man dann auch gut ein "vor" und "zurück" implementieren.
So ganz ohne Quellcode / Sinn der Anwendung ist es schwer, da etwas handfestes als Tipp zu nennen.
Wenn Du tatsächlich dermaßen intensiv mit solchen Menüs arbeitest, würde ich mir dafür eine brauchbare Datenstruktur überlegen und dazu eine Funktion, die den Menüablauf steuert und den aktuellen Zustand kennt. Damit kann man dann auch gut ein "vor" und "zurück" implementieren.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Hier der Quellcode:
Habe vor ca 4 Tagen mit Python angefangen, weshalb ich mich eigentlich so gut wie garnicht auskenne.
Das Programm ist ein reines Terminalprog.
Eine andere Strukturierung ist mir bisher leider noch nicht in den Sinn gekommen
Ich habe das Programm so eben zum ersten mal auf dem Pc ausgeführt und musste feststellen, dass sich die Konsole nach der Berechnung xyz einfach schließt.
Gibt es da nicht einen Befehl, der dies verhindert?
Code: Alles auswählen
print"___________________"
print"Mathematische Hilfe"
print"___________________\n"
print"Auswahlmenue: \n"
print"1.Graph"
print"2.Kreis"
print"3.Kugel"
print"4.Pyramide"
print"5.Zylinder"
print"6.Dreieck"
print"7.Rechteck"
print"8.Ableitung von..."
print"9.Physikalische Rechenmethoden"
print"10.About...."
print"\n"
m = input("Option waehlen\n")
if m == 1: #Hauptmenueeintrag 1 (Graph)
print"----------------------"
print "Option Graph gewaehlt"
print"---------------------- \n"
print"1.Nullstellenberechnung"
print"2.Extrempunkte"
print"3.Grenzwerte"
print"4.Wertetabelle"
print" \n"
g = input("Option waehlen: \n ")
if g == 1: #Submenueeintrag 1
print "Dieses Tool errechnet Ihnen die Nullstellen der quadratischen Gleichung:"
print "ax*x+bx+c \n"
a=input("Geben sie bitte a ein: \n")
b=input("Geben sie bitte b ein: \n")
c=input("Geben sie bitte c ein: \n")
d=b*b-4*a*c
if d < 0:
print "Negativer Wert unter der Wurzel!!Bitte korrigieren"
else:
x=((-b)+(b*b-4*a*c)**0.5)/(2*a)
print x
y=((-b)-(b*b-4*a*c)**0.5)/(2*a)
print y
if g == 3: #Submenueeintrag 2////////////////////////
print "Extrempunkte"
if g == 4: #Submenueeintrag 3 //////////////////////
print"Wertetabelle\n"
x=[-6,-5,-4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a=input("Geben sie a an\n")
b=input("Geben sie b an\n")
c=input("Geben sie c an\n")
print a,"*x**2+",b,"*x+",c, "\n"
print "Wertetabelle\n"
l=a*25+b*(-5)+c
s=a*16+b*(-4)+c
d=a*9+b*(-3)+c
f=a*4+b*(-2)+c
g=a-b+c
h=c
q=a*1+b*1+c
w=a*4+b*2+c
e=a*9+b*3+c
r=a*16+b*4+c
t=a*25+b*5+c
print "Negativer Bereich: \n"
print "x=-5","y=",l
print "x=-4","y=",s
print "x=-3","y=",d
print "x=-2","y=",f
print "x=-1","y",g
print"\n"
print "x=0","y=",h
print"\n"
print"Positiver Bereich: \n"
print "x=1","y=",q
print "x=2","y=",w
print "x=3","y=",e
print "x=4","y=",r
print "x=5","y=",t
if m == 2: #Hauptmenueeintrag 2 (Kreis)
print"Kategorie Kreis gewaehlt\n"
print"1.Kreisflaechenberechnung"
print"2.Kreisumfangberechnung"
print"3.Bestimmung von r anhand des Umfangs"
print"4.Bestimmung von r anhand der Flaeche"
print" \n"
g = input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n ")
if g == 1: #Submenueeintrag 1
print "Kreisflaechenberechnung \n"
r=input("Geben sie den Kreisradius an: \n")
if r > 0:
f = r*r*3.1415926535897932
print "Die Flaeche des Kreises betraegt: \n"
print f
if g == 2:
print "Kreisumfangberechnung \n"
r=input("Geben sie den Radius r an\n")
if r>0:
u=2*r*3.1415926535897932
print u
else:
print"Der Radius muss positiv sein"
if g == 3:
print"Bestimmung von r anhand des Umfangs \n"
u=input("Geben sie den Umfang u an \n")
r=u/(2*3.1415926535897932)
print u
if g == 4:
print"Bestimmung von r anhand der Flaeche \n"
f=input("Geben sie die Flaeche F an \n")
r=(f/3.1415926535897932)**0.5
print r
if m == 3: #Hauptmenueeintrag 3 (Kugel)
print"------------------------"
print"Kategorie Kugel gewaehlt"
print"------------------------ \n"
print"1.Berechnung der Oberflaeche"
print"2.Berechnung des Volumens"
g = input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if g == 1:
print"Berechnung der Oberflaeche: \n"
r=input("Geben sie den Radius r der Kugel an\n")
if r>0:
v=4*3.1415926535897932*r*r
print v
else:
print"Der Wert muss positiv sein"
if g == 2:
print"Berechnung des Volumens\n"
r=input("Geben sie den Radius r der Kugel an\n")
if r>0:
v=4/3*r*r*r*3.1415926535897932
print v
else:
print"Der Wert muss positiv sein\n"
if m == 4: #Hauptmenueeintrag 4 (Pyramide)
print"---------------------------"
print"Kategorie Pyramide gewaehlt"
print"---------------------------\n"
print"1.Berechnung des Volumens"
print"2.Berechnung der Oberflaeche \n"
g = input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n ")
if g == 1:
print"Volumenberechnung \n"
if g == 2:
print"Oberflaechenberechnung \n"
if m == 5: #Hauptmenueeintrag 5 (Zylinder)
print"---------------------------"
print"Kategorie Zylinder gewaehlt \n"
print"---------------------------\n"
print"1.Zylinderoberflaeche berechnen"
print"2.Zylindervolumen berechnen"
g=input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if g == 1:
print"Oberflaeche Zylinder\n"
r=input("Geben sie den Radius r ein \n")
h=input("Geben sie die Hoehe h ein \n")
if h>0 and r>0:
o=2*r*r*3.1415926535897932 + 2*r*3.1415926535897932*h
print o
if g == 2:
print"Volumen Zylinder\n"
r=input("Geben sie den Radius r ein \n")
h=input("Geben sie die Hoehe h ein \n")
if r>0 and h>0:
v=r*r*3.1415926535897932*h
print v
if m == 6: #Hauptmenueeintrag 6 (Dreieck)
print"--------------------------"
print"Kategorie Dreieck gewaehlt"
print"--------------------------"
print"1.Berechnung der Flaeche"
print"2.Berechnung des Umfangs"
print" \n"
g=input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if g == 1:
print"Flaechenberechnung\n"
a=input("Geben sie die Hypotenuse a an\n")
b=input("Geben sie die Hoehe h an\n")
if a>0 and b>0:
f=0.5*a*b
print "Flaeche:" ,f
else:
print"Die Werte muessen positiv sein"
if g == 2:
print"Umfangberechnung"
a=input("Geben sie die Laenge der Seite a an\n")
b=input("Geben sie die Laenge der Seite b an\n")
c=input("Geben sie die Laenge der Seite c an\n")
f=a+b+c
print"Umfang: ",f
if m == 7: #Hauptmenueeintrag 7 (Rechteck)
print"---------------------------"
print"Kategorie Rechteck gewaehlt"
print"---------------------------"
print"1.Berechnung der Flaeche"
print"2.Berechnung des Umfangs"
print"3.Berechnung der Diagonale\n"
g = input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if g == 1:
print"Berechnung der Flaeche \n"
a=input("Geben sie die Laenge der Seite a an: \n")
b=input("Geben sie die Laenge der Seite b an: \n")
if a > 0 and b > 0:
f = a*b
print f
else:
print"Die Werte der beiden Seiten muessen positiv sein!"
if g == 2:
print"Berechnung des Umfangs\n"
a=input("Geben sie die Laenge der Seite a an: \n")
b=input("Geben sie die Laenge der Seite b an: \n")
if a>0 and b>0:
u=2*(a+b)
print u
else:
print"Die Werte der beiden Seiten muessen positiv sein!"
if g == 3:
print"Berechnung der Diagonale\n"
a=input("Geben sie die Laenge der Seite a an:\n")
b=input("Geben sie die Laenge der Seite b an:\n")
if a>0 and b>0:
d=(a*a+b*b)**0.5
print d
else:
print"Die Werte der beiden Seiten muessen positiv sein"
if m == 8: #Hauptmenueeintrag 8 (Ableitung von...)
print"----------------"
print"Ableitung von..."
print"----------------\n"
print"Geben sie hier f(x) unter der Beruecksichtigung folgender Schreibweisen an: \n"
print"1.Exponenten: "
print"Sie werden anstatt durch Hoeherstellung durch ** realisiert\n"
print"Bsp: x**1 entspricht x, x**0.5 entspricht Wurzel von x\n"
print"2.In Python werden Punkte . Statt Kommata , verwendet.\n"
print"Dies gilt auch fuer Zahlen in dieser Rechenmethode\n \n"
print"a*x**i+b*x**o+c*x**p \n"
x="x"
a=input("Geben sie a an \n")
i=input("Geben sie i an \n")
b=input("Geben sie b an \n")
o=input("Geben sie o an \n")
c=input("Geben sie c an \n")
p=input("Geben sie p an \n")
if m == 9: #Hauptmenueeintrag 9 (Physikalische Rechenmethoden)
print"_______________________________________________"
print"Kategorie Physikalische Rechenmethoden gewaehlt"
print"_______________________________________________\n"
print"1.Geschwindigkeit aus Strecke und zeit"
print"2.Schwingungen"
print"3.Gravitation\n1"
g=input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if g == 3:
print"Option Gravitation ausgewaehlt\n"
print"1.Keplersches Gesetz"
print"2."
print"3."
h=input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if h == 1:
print"Option Keplersches Gesetz gewaehlt\n"
print"1.Umlaufdauer T1 berechnen"
print"2.Bahnradius a berechnen\n"
print"3.Tabelle der Umlaufzeiten"
print"4.Tabelle der Bahnradien\n"
z=input("Bitte waehlen sie einen Eintrag aus dem Menue anhand der zugeordneten Nummer: \n")
if z == 1:
print"Option T1 berechnen ausgewaehlt\n"
a=input("Geben sie den mittleren Bahnradius a1 an\n")
b=input("Geben sie den mittleren Bahnradius a2 an\n")
c=input("Geben sie die Umlaufdauer T2 an\n")
t=(((c**2)*(a**3))/(b**3))**0.5
print"\n"
print" Die Umlaufdauer T1 betraegt: ", t
if z == 2:
print"Option Bahnradius a1\n"
a=input("Geben sie die Umlaufdauer T1 an\n")
b=input("Geben sie die Umlaufdauer T2 an\n")
c=input("Geben sie den mittleren Bahnradius a2 an\n")
if z == 3:
print"Tabelle der Umlaufzeiten\n"
print"siderische bzw"
print"anomalistsche synodische Umlaufzeit"
print"Umlaufzeit"
print "ISS 1,51 Stunden 1,53 Stunden"
print "Geosync 23,93 Stunden 24,00 Stunden"
print "Mond 27,322 Tage 29,53 Tage"
print "Merkur 87,969 Tage 115,88 Tage"
print "Venus 224,701 Tage 583,92 Tage"
print "Erde 365,256 Tage "
print "Mars 686,980 Tage 779,94 Tage"
print "Ceres 4,600 Jahre 466,72 Tage"
print "Jupiter 11,862 Jahre 398,88 Tage"
print "Saturn 29,458 Jahre 378,09 Tage"
print "Uranus 84,014 Jahre 369,66 Tage"
print "Neptun 164,793 Jahre 367,49 Tage"
print "Pluto 248,200 Jahre 366,73 Tage"
print "Quaoar 285,970 Jahre 366,54 Tage"
print "Sedna 10040 Jahre 365,29 Tage"
print "SonneS. 230 Mio.Jahre "
if m == 10: #Hauptmenueeintrag 10 (About)
print"______________________________________________________________________________\n"
print"\n"
print" _____________________________"
print" $$$$$Mathematische Hilfe$$$$$ \n _____________________________\n\n"
print" Autor: \n \n Programmiersprache: Python 3.0\n"
print" Editor: PyGTKEditor \n"
print" Entwicklungsplatform: Maemo 5 auf Nokia N900\n"
print" Emailadresse: \n"
print" ICQ: \n"
print"______________________________________________________________________________\n"Das Programm ist ein reines Terminalprog.
Eine andere Strukturierung ist mir bisher leider noch nicht in den Sinn gekommen
Ich habe das Programm so eben zum ersten mal auf dem Pc ausgeführt und musste feststellen, dass sich die Konsole nach der Berechnung xyz einfach schließt.
Gibt es da nicht einen Befehl, der dies verhindert?
Zuletzt geändert von Robokopp am Mittwoch 3. November 2010, 13:06, insgesamt 2-mal geändert.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ok, das erklärt einigesRobokopp hat geschrieben: Habe vor ca 4 Tagen mit Python angefangen, weshalb ich mich eigentlich so gut wie garnicht auskenne.
Also prinzipiell musst Du Quellcode hier in spezielle Code-Tags setzen. Für Python insbesondere gibt es einen speziellen Tag:
Code: Alles auswählen
print "Hallo Welt"
Code: Alles auswählen
[code=python]
print "Hallo welt"
Code: Alles auswählen
print "Hallo welt"
Bei so langem Quellcode bietet es sich an, den in das paste-bin auszulagern:
http://python-forum.de/pastebin.php
Link ist oben in der Zeile unter dem großen Logo.
Zum Thema: Du solltest Dein Projekt imho ein wenig überdenken und erst einmal das Tutorial durcharbeiten. (es gibt zum offiziellen aus der Doku auch eine deutsche Übersetzung; mal im Forum suchen oder im wiki: wiki.python-forum.de)
Dein Code ist in vielen Bereichen sehr unstrukturiert, eben weil Dir viele Kontrollstrukturen noch nicht klar sind oder schlicht fehlen. Bei so einem großen Projekt muss man eben Funktionen kennen und anwenden können, sonst wird es extrem unübersichtlich.
Für eine gute Datenstruktur, solltest Du auch Listen und Dictionaries kennen und Dich mit diesen grundlegenden Datenstrukturen vertraut machen.
Alleine der Code für Deine Wertetabelle sieht "schlimm" aus. Was machst Du, wenn jemand 100 Werte berechnet haben möchte? (Das Alphabet hat ja nur 26 Buchstaben
Es bringt Dir jetzt glaube ich nicht viel, wenn ich dir Code für eine denkbare Menüführung posten würde. Mein Tipp: Versuche mal das Tutorial durchzuackern. Evtl. auch weitere a la "A Byte of Python", "Dive into Python" oder "Learn Python the hard way". Mehr dazu im wiki.
Grundsätzlich solltest Du immer eines im Hinterkopf behalten: Programmierung ist mehr, als die Aneinanderreihung trivialer Berechnungen. Im Moment wiederholst Du Dich ständig, seien es immer gleiche Benutzerabfragen, oder die Auswahl eines Menüpunktes oder die stumpfe Ausgabe. "DRY" (don't repeat yourself) ist eine der schwierigsten Dinge, die es beim Programmieren zu beachten gilt. Schwierig, weil man eben in grundsätzlichen Abläufen denken muss und die Fähigkeit zur Abstraktion ausbilden muss.
Beispiel, damit Du siehst, was ich meine:
Code: Alles auswählen
def calc_square_func(params, start=-10, stop=10, step=1):
a, b, c = params
for x in xrange(start, stop, step):
yield x, a*x**2 + b*x + c
Code: Alles auswählen
In [19]: list(calc_square_func((1, 0, 0)))
Out[19]:
[(-10, 100),
(-9, 81),
(-8, 64),
(-7, 49),
(-6, 36),
(-5, 25),
(-4, 16),
(-3, 9),
(-2, 4),
(-1, 1),
(0, 0),
(1, 1),
(2, 4),
(3, 9),
(4, 16),
(5, 25),
(6, 36),
(7, 49),
(8, 64),
(9, 81)]
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich habe mir dieses Videotutorial angesehen:
http://showmedo.com/videotutorials/seri ... ies_german
ist eigentich recht gut
Hast ja recht
Bei vielen Sachen weiß ich eben nicht wirklich, wie ich es anders machen soll.
Beispielsweise habe ich die von dir gepostete Form noch nie gesehn^^
Ich werd mir wohl besser noch ein paar Tutorials anschauen
Trotzdem Danke
http://showmedo.com/videotutorials/seri ... ies_german
ist eigentich recht gut
Alleine der Code für Deine Wertetabelle sieht "schlimm" aus. Was machst Du, wenn jemand 100 Werte berechnet haben möchte? (Das Alphabet hat ja nur 26 Buchstaben ) Das wäre z.B. eine schöne Übung für Schleifen und ggf. Listen!
Hast ja recht
Bei vielen Sachen weiß ich eben nicht wirklich, wie ich es anders machen soll.
Beispielsweise habe ich die von dir gepostete Form noch nie gesehn^^
Ich werd mir wohl besser noch ein paar Tutorials anschauen
Trotzdem Danke
Du möchtest dir nicht viele anschauen, sondern eins richtig durcharbeitenRobokopp hat geschrieben:Ich werd mir wohl besser noch ein paar Tutorials anschauen
Das Leben ist wie ein Tennisball.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hm... ich habe nur mal kurz in das zur OOP reingeschaut und fand es eher nicht so toll. (Alleine das lautmalerische "Pütong" stört schonRobokopp hat geschrieben:Ich habe mir dieses Videotutorial angesehen:
http://showmedo.com/videotutorials/seri ... ies_german
ist eigentich recht gut![]()
"Das" Paradigma gibt es in Python einfach nicht; es werden also falsche Aussagen getroffen.
Ob man für eine Einführung in Programmiersprachen wirklich ein Video-Tutorial braucht, weiß ich nicht. Vielleicht ist der Rest ja auch brauchbar.
Dennoch muss man imho viel zusätzlich lesen (Videos gehen ja unheimlich schnell vorüber) und vor allem auch ausprobieren!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Wie wäre es mit sowas in der Art ?
Code: Alles auswählen
#!/usr/bin/env python
import math
class menu(object):
def __init__(self, label, text="", callback=None):
self.items = []
self.label = label
self.text = text
self.func = callback
self.back = "z"
self.exit = "e"
def __str__(self):
i = len(self.items)
return "{0}\n{1}. zur\xfcck\n{2}. schlie\xdfen\n\n" \
"".format(self.text, self.back, self.exit)
def add_item(self, item):
self.items.append(item)
self.text = self.text + "\n" + str(len(self.items)) + ". " + item.label
def change_menu(self, index):
if index == self.back or index == self.exit:
return index
item = self.items[int(index)-1]
return item.m_input()
def m_input(self):
if self.func is None:
result = self.change_menu(raw_input(self))
else:
if self.func():
result = self.back
else:
result = "check_again"
if result == self.back:
return "check_again"
elif result == "check_again":
self.m_input()
elif result == self.exit:
return
def null():
print "ax*x+bx+c \n"
a = int(raw_input("Geben sie bitte a ein: \n"))
b = int(raw_input("Geben sie bitte b ein: \n"))
c = int(raw_input("Geben sie bitte c ein: \n"))
d = b**2 - (4 * a * c)
if d >= 0:
x = (-b + math.sqrt(d)) / (2 * a)
print x
y = (-b - math.sqrt(d)) /(2 * a)
print y
return True
print "Negativer Wert unter der Wurzel!!! Bitte korrigieren"
return False
if __name__ == "__main__":
main_text =\
"""
___________________
Mathematische Hilfe
___________________
Auswahlmen\xfc:
"""
main_menu = menu("main", main_text)
graph = menu("Graph")
null_text = "Dieses Tool errechnet Ihnen die Nullstellen" \
"der quadratischen Gleichung:"
sub_graph1 = menu("Nullstellenberechnung", null_text, null)
sub_graph2 = menu("Extrempunkte")
sub_graph3 = menu("Grenzwerte")
sub_graph4 = menu("Wertetabelle")
graph.add_item(sub_graph1)
graph.add_item(sub_graph2)
graph.add_item(sub_graph3)
graph.add_item(sub_graph4)
main_menu.add_item(graph)
sub_menu2 = menu("Kreis")
main_menu.add_item(sub_menu2)
sub_menu3 = menu("Kugel")
main_menu.add_item(sub_menu3)
main_menu.m_input()
Habs soweit geschafft
hab das komplette Programm als Klasse definiert und am Ende jeder Funktion einen Klassenaufruf nach Eingabe gesetzt, um wieder ins Hauptmenü zurück zu kehren.
funzt alles Top
Mit dem Tutorial werde ich mich selbstverständlich trotzdem noch vertraut machen, mir gings halt jetzt erst ma um dieses eine Problem.
Jetzt hab ich noch eine kurze Frage:
Ich verwende den PyGTKEditor auf dem Handy, mit dem ich das Programm auch geschrieben hab.
Habe es jetzt am PC korrigiert, weils einfach etwas übersichtliches ist^^
Die Einrückungen hab ich per Tab gemacht.
Danach wollte ich das Programm ausführen, doch es ging nicht.
Habs mir aufs Handy gezogen und dort nochmal angeschaut und alles war komplett falsch eingerückt.
Ist Tab da die richtige Methode, oder genügt ein einfaches Leerzeichen?
Am Handy hab ich einen Button, der automatisch eine Einrückung vornimmt, ob das jetzt allerdings 2 Leerzeichen sind oder auch ein Tab weiß ich nicht.
hab das komplette Programm als Klasse definiert und am Ende jeder Funktion einen Klassenaufruf nach Eingabe gesetzt, um wieder ins Hauptmenü zurück zu kehren.
funzt alles Top
Mit dem Tutorial werde ich mich selbstverständlich trotzdem noch vertraut machen, mir gings halt jetzt erst ma um dieses eine Problem.
Jetzt hab ich noch eine kurze Frage:
Ich verwende den PyGTKEditor auf dem Handy, mit dem ich das Programm auch geschrieben hab.
Habe es jetzt am PC korrigiert, weils einfach etwas übersichtliches ist^^
Die Einrückungen hab ich per Tab gemacht.
Danach wollte ich das Programm ausführen, doch es ging nicht.
Habs mir aufs Handy gezogen und dort nochmal angeschaut und alles war komplett falsch eingerückt.
Ist Tab da die richtige Methode, oder genügt ein einfaches Leerzeichen?
Am Handy hab ich einen Button, der automatisch eine Einrückung vornimmt, ob das jetzt allerdings 2 Leerzeichen sind oder auch ein Tab weiß ich nicht.
- pillmuncher
- User
- Beiträge: 1532
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Thus spake the Lord: Thou shalt indent with four spaces. No more, no less.
Four shall be the number of spaces thou shalt indent, and the number of thy
indenting shall be four. Eight shalt thou not indent, nor either indent thou
two, excepting that thou then proceed to four. Tabs are right out.
In specifications, Murphy's Law supersedes Ohm's.
Abgewandelt aus http://de.wikipedia.org/wiki/Ritter_der_Kokosnu%C3%9F
https://www.xing.com/go/invite/18513630.6a91d4
- pillmuncher
- User
- Beiträge: 1532
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Das Zitat wird oft als sig vewendet. Die ursprüngliche Quelle kenne ich leider selbst nicht.Xynon1 hat geschrieben:Woher ist das Zitat ?
In specifications, Murphy's Law supersedes Ohm's.
http://www.youtube.com/watch?v=nzrc5ZbclpgMonty Python and the Holy Grail
written by Graham Chapman, John Cleese, Terry Gilliam, Eric Idle, Terry Jones, & Michael Palin
Brother: (reading from Book of Armaments): And Saint Attila raised the hand grenade up on high, saying, 'O Lord, bless this Thy hand grenade that, with it, Thou mayest blow Thine enemies to tiny bits in Thy mercy.' And the Lord did grin, and the people did feast upon the lambs and sloths and carp and anchovies and orangutans and breakfast cereals and fruit bats and large chu--
Brother Maynard (Eric Idle): Skip a bit, Brother...
Brother: And the Lord spake, saying, "First shalt thou take out the Holy Pin, then shalt thou count to three, no more, no less. Three shalt be the number thou shalt count, and the number of the counting shalt be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thou foe, who being naughty in My sight, shall snuff it.
Brother Maynard: Amen.
King Arthur (Graham Chapman): Right.
https://www.xing.com/go/invite/18513630.6a91d4
-
BlackJack
@Robokopp: Ich glaube nicht das Du es soweit geschafft hast. Es mag vielleicht funktionieren, aber ich bezweifle zum einen dass Deine Klasse sinnvoll ist und zum anderen befürchte ich nach der Beschreibung dass Du Aufrufe als reines ``GOTO`` missbrauchst und da eine Endlosrekursion gebastelt hast die immer mehr von Deinen Objekten erstellt.
