Seite 1 von 2
Satz des Pytagoras
Verfasst: Montag 7. September 2015, 16:27
von Space
Hallo Leute
da ich in der keine lust mehr habe in der Schule jedesmal das mit dem Hypotenusendreieck auszu rechnen wollte ich mir dazu ein kleines Python programm schreiben und da ich mich dafür interessiere macht es mir auch spaß aber ich bin halt nicht so der meister darin und würde mich freuen wenn mir jemand helfen könnte. Zu erst würde ich gerne wissen was ich hier falsch gemacht hab schon in der 3 zeile kommt der erste error ich weis auch das es falsch ist aber ich weis nicht wie ich das besser machen kann.(wie gesagt ich hab halt noch nicht so viel erfahrung)
Code: Alles auswählen
#Mathe Hypotenuse
x = input(int('Was ist auszurechnen? Hypotenuse(H) oder Kathete(K)')
if x == H a=input(int('Nenne die erste Kathete')
b = print(input(int('Nenne die zweite Kathete')
Hypo = 2* (a*a + b*b)
print('Die Hypotenuse ist' Hypo)
Bei der ganzen sache geht es darum mit den quadraten der beiden kürzeren seiten (katheten) die längere seite (hypotenuse) auszurechenen.
bitte erst mal nur in der ersten 3 zeile helfen und dann den rest damit ich das auch kapier

Re: Satz des Pytagoras
Verfasst: Montag 7. September 2015, 17:14
von BlackJack
@Space: Arbeite doch einfach mal ein Grundlagentutorial durch damit Du Quelltext schreiben kannst der wenigstens syntaktisch korrektes Python ist.
Und dann entwickel das Programm in kleineren Schritten und teste zwischendurch immer ob das bisher entwickelte Programm das tut was es soll. Das ist deutlich weniger frustrierend als ein ganzes Programm als ”Tockenübung” zu schreiben und danach dann darin alle Fehler zu suchen.
Beim nächsten Anlauf solltest Du dann auch neben dem mindestens startbaren Quelltext auch die konkrete zu dem Quelltext gehörende Fehlermeldung zeigen. Komplett mit Traceback 1:1 kopiert. Falls keine Fehlermeldung kommt aber das Programm nicht das macht was Du erwartest, dann beschreibe was Du erwartest, und was Du stattdessen bekommst.
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 09:57
von Kebap
Hi Space, willkommen im Forum. Gute Idee, so ein Programm. Es hat noch einige Fehler, aber die sind leicht reparierbar. Aber Achtung: In der Klassenarbeit wirst du es vermutlich nicht benutzen dürfen, also hoffentlich kannst du die Rechnungen spätestens dann auch "per Hand" durchführen..

Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 14:24
von Space
Also das ganze läuft so ab wenn ich das bin bis jetzt geschrieben habe teste wird das a in der dritten zeile markiert und dann kommt die fehlermeldung "invalid Syntax" ich hab den befehl nur nicht richtig geschrieben aber ich weis auch nicht wie er richtig geschrieben wird
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 14:36
von Sirius3
@Space: deswegen sollst Du ja auch nochmal auf Anfang gehen und erst einmal die korrekte Syntax lernen. Vielleicht ohne gleich mehrere Blöcke mit if, sondern nur für den Hypothenusen-Fall und wenn das tut, das Programm weiter ausbauen.
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 14:44
von Kebap
So, ich hab das mal einigermaßen repariert...
Code: Alles auswählen
#Mathe Hypotenuse
x = input('Was ist auszurechnen? Hypotenuse(H) oder Kathete(K)')
if x == "H":
a = int(input('Nenne die erste Kathete.'))
b = int(input('Nenne die zweite Kathete.'))
c = 2 * (a * a + b * b)
print('Die Hypotenuse ist', c)
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 14:46
von BlackJack
@Space: Welche öffnende Klammer gehört denn dort zu welcher schliessenden Klammer?

Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 14:58
von MagBen
1.Zeile:
7.Zeile (bei Kebap):
** ist das Rechenzeichen fürs Potenzieren
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 15:51
von Kebap
Space hat geschrieben:ich hab den befehl nur nicht richtig geschrieben aber ich weis auch nicht wie er richtig geschrieben wird
Welche Anleitung benutzt du denn?

Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 18:23
von Space
Also ich hab so ein Buch Python kinder leicht aber das ist irgendwie so umständlich geschrieben das ich bald nicht weiter gekommen bin. Auf alle fälle danke für das reparieren. Ich probiere mal weiter.
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 18:35
von Space
Also wenn ich den Text so korrigiere wie Kebap in umgestellt hat kommt bei mir das:
Code: Alles auswählen
#Mathe Hypotenuse
x = input(int('Was ist auszurechnen? Hypotenuse(H) oder Kathete(K)')
if x == "H":
a = int(input('Nenne die erste Kathete.'))
b = int(input('Nenne die zweite Kathete.'))
c = 2*(a*b+b*b)
print('Die Hypotenuse ist', c)
Der Doppelpunkt nach dem "H" wird markiert und dann kommt invalid Syntax
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 18:42
von BlackJack
@Space: Ich erhalte meine Frage zu dieser dritten Zeile aufrecht…
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 18:57
von MagBen
@Space: 7.Zeile, das ist doch nicht Pythagoras!
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 20:32
von Space
@BlackJack NA die erste Klammer gehört zu der letzten die zweite zu der vorletzten und so weiter. Oder meinst du das die erste klammer schon von der Klammer hinter H geschlossen wird? weil dan ergäbe das auch einen sinn.
@Mag Ben JA das stimmt man muss dann noch die wurzel aus dem ganzen ziehen aber das ist jetzt erstmal unwichtig. Wenn ich weis wie ich das machen muss kann ich das ja mal beheben.
Re: Satz des Pytagoras
Verfasst: Dienstag 8. September 2015, 21:05
von BlackJack
@Space: Schau Dir noch mal ganz genau an welche Klammer zu welcher gehört und sag das mal nicht so allgemein wie es sein sollte, sondern wie es tatsächlich *ist*. Welche öffnende Klammer gehört zu welcher schliessenden Klammer in dieser konkreten Zeile.
Re: Satz des Pytagoras
Verfasst: Donnerstag 10. September 2015, 17:29
von Space
Ah ja klar
krass danke das läuft ja jetzt super nach einigen korrekturen kriege ich das ganze schon bis zur haupt rechnung.
Aber da ist das nächste problem da ich bei der rechnung dem wurzel aus dem ganzen ziehen will und ich nicht weis ob es bei python ein wurzel zieh zeichen oder so etwas gibt hab ich das ganze so gemacht:
c = a**+b**/a**+b**
Aber weil das Bruchzeichen hinter dem quadrat zeichen steht kommt nur invalid syntax und es geht nicht weiter. Ich hab es auch schon mit nem Backslash oder Klammer versucht aber das bringt irgendwie nichts
Hier noch mal das Korrigierte Programm:
from math import*
x = int(input('Was ist auszurechnen? Hypotenuse(1) oder Kathete(2)'))
if x == 1:
a = int(input('Nenne die erste Kathete.'))
b = int(input('Nenne die zweite Kathete.'))
c = a**+b**/a**+b**
print('Die Hypotenuse ist', c)
Re: Satz des Pytagoras
Verfasst: Donnerstag 10. September 2015, 17:32
von BlackJack
@space: Wo man die Funktion zum Wurzelziehen herbekommt hat MagBen schon gezeigt und ``**`` ist nicht das ”Quadratzeichen” sondern der Potenzoperator, das heisst Du musst da auch die Potenz angeben, also in diesem Fall 2.
Re: Satz des Pytagoras
Verfasst: Donnerstag 10. September 2015, 17:35
von cofi
Wenn du nochmal zurueck zum ersten Thread gehst, kannst du bei MagBens Post auch lesen wie die Zeile richtig aussieht.
Re: Satz des Pytagoras
Verfasst: Donnerstag 10. September 2015, 18:11
von Space
Achso jetzt weis ich wie er das gemeint hat.
Ich bastle noch en bissel weiter ich stelle dan das (hoffentlich) fertige programm rein.

Ich will eigentlich nur ein bisschen rum programmieren und was dabei lernen. man kann schließlich nicht genug wissen

Re: Satz des Pytagoras
Verfasst: Donnerstag 10. September 2015, 18:54
von Space
So das dürfte es sein ihr könnte es ja noch mal auf Hals, Nieren, Ohren probleme testen.
from math import*
x = int(input('Was ist auszurechnen? Hypotenuse(1) oder Kathete(2)'))
if x == 1:
a = int(input('Nenne die erste Kathete.'))
b = int(input('Nenne die zweite Kathete.'))
c = sqrt(a**2 + b**2)
print('Die Hypotenuse ist', c)
if x == 2:
a = int(input('Nenne die Hypotenuse.'))
b = int(input('Nenne die vorhandene Kathete.'))
c = sqrt(a**2 - b**2)
print('Die Gesuchte Kathete ist', c)
else:
print('Bitte gib für die Hypotenuse 1 und für die Kathete zwei ein!')