Satz des Pytagoras

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

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 :lol:
Zuletzt geändert von Anonymous am Montag 7. September 2015, 16:53, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
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.
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

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.. :mrgreen:
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

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
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@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.
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

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)
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
BlackJack

@Space: Welche öffnende Klammer gehört denn dort zu welcher schliessenden Klammer? ;-)
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

1.Zeile:

Code: Alles auswählen

from math import sqrt
7.Zeile (bei Kebap):

Code: Alles auswählen

    c = sqrt(a**2 + b**2)
** ist das Rechenzeichen fürs Potenzieren
a fool with a tool is still a fool, www.magben.de, YouTube
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

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? :mrgreen:
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

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.
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

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
Zuletzt geändert von Anonymous am Dienstag 8. September 2015, 18:41, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@Space: Ich erhalte meine Frage zu dieser dritten Zeile aufrecht…
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

@Space: 7.Zeile, das ist doch nicht Pythagoras!
a fool with a tool is still a fool, www.magben.de, YouTube
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

@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.
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.
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

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)
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.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wenn du nochmal zurueck zum ersten Thread gehst, kannst du bei MagBens Post auch lesen wie die Zeile richtig aussieht.
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

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 :D
Space
User
Beiträge: 22
Registriert: Montag 7. September 2015, 16:12

So das dürfte es sein ihr könnte es ja noch mal auf Hals, Nieren, Ohren probleme testen. :D

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!')
Antworten