Also wie gesagt, das Programm ist dazu da um Seiten & Winkel eines Rechtwinkligen Dreiecks zu berechnen.
Es ist mein allererstes Programm, und ich weiß nicht was daran nicht stimmt, nur dass z.B. etwas bei der Winkelberechnung nicht funktioniert.
Bitte einerseits um Hilfe & Ratschläge und andererseits um Meinungen:
Hier der Link:
http://paste.pocoo.org/show/688/
By Clemens R. 7D
Programm zur Berechnung von Seiten und Winkeln eines 3-Ecks
Das ist etwas ungenau. Was genau funktioniert denn nicht? Bekommst Du Fehlermeldungen? Falsche Ergebnisse? Wenn Du falsche Ergebnisse bekommst, gib doch mal ein Beispiel was Du eingibst, was Du als Ergebnis erwartest und was Du stattdessen bekommst.ClemeX hat geschrieben:Es ist mein allererstes Programm, und ich weiß nicht was daran nicht stimmt, nur dass z.B. etwas bei der Winkelberechnung nicht funktioniert.
Ok das Hauptproblem ist, dass ich bei den Ergbenissen (ALLEN), manchmal 0 rauskriege (obwohl es gar nicht rauskommen kann).BlackJack hat geschrieben:Das ist etwas ungenau. Was genau funktioniert denn nicht? Bekommst Du Fehlermeldungen? Falsche Ergebnisse? Wenn Du falsche Ergebnisse bekommst, gib doch mal ein Beispiel was Du eingibst, was Du als Ergebnis erwartest und was Du stattdessen bekommst.ClemeX hat geschrieben:Es ist mein allererstes Programm, und ich weiß nicht was daran nicht stimmt, nur dass z.B. etwas bei der Winkelberechnung nicht funktioniert.
Wenn ich aber "schöne" Zahlen verwende, z.B. a = 3; b =4
dann rechnet er richtig 5 raus.
Ich würde mal spekulieren, dass er bei den Divisionen einfach mit int rechnet, weshalb er auf 0 kommt. Ersetz doch probeweise mal z.B. "Laenge_a = input('Die Laenge von Kathete a, bitte: ')" durch "Laenge_a = float(input('Die Laenge von Kathete a, bitte: ')" usw.ClemeX hat geschrieben: Ok das Hauptproblem ist, dass ich bei den Ergbenissen (ALLEN), manchmal 0 rauskriege (obwohl es gar nicht rauskommen kann).
habs probiert funktioniert baer auch nedda3dalus hat geschrieben:Ich würde mal spekulieren, dass er bei den Divisionen einfach mit int rechnet, weshalb er auf 0 kommt. Ersetz doch probeweise mal z.B. "Laenge_a = input('Die Laenge von Kathete a, bitte: ')" durch "Laenge_a = float(input('Die Laenge von Kathete a, bitte: ')" usw.ClemeX hat geschrieben: Ok das Hauptproblem ist, dass ich bei den Ergbenissen (ALLEN), manchmal 0 rauskriege (obwohl es gar nicht rauskommen kann).

Hab mal geschaut was Python schreibt, und bin draufgekommen, dass ihm hier etwas nicht passt:
ergebnis_Laenge_a = math.sqrt(Laenge_c ** 2 - Laenge_b ** 2)*1.0
Nein, wenn ich z.B 3.0 eingebe auch nicht! In dem Fall funktioniert das Programm bei der Seitenberechnung, aber bei den Winkel funkts dann noch immer ned, weil er einen falschen arc sinus ausrechnet. Es kommen ergebnisse wie 0.345° raus, das kann ja keine Winkel sein.da3dalus hat geschrieben:Passiert das auch, wenn du für c und b irgendwelche Kommazahlen (3.5 oder sowas) einsetzt?
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Doch, das kann schon ein Winkel sein ^^ClemeX hat geschrieben:Nein, wenn ich z.B 3.0 eingebe auch nicht! In dem Fall funktioniert das Programm bei der Seitenberechnung, aber bei den Winkel funkts dann noch immer ned, weil er einen falschen arc sinus ausrechnet. Es kommen ergebnisse wie 0.345° raus, das kann ja keine Winkel sein.da3dalus hat geschrieben:Passiert das auch, wenn du für c und b irgendwelche Kommazahlen (3.5 oder sowas) einsetzt?
Im Ernst: die trigonometrischen Funktionen im math-Modul arbeiten alle mit "richtigen Winkeln", also Bogenmaß (360° = 2π).
D.h. du musst Gradangaben (wie da3dalus sagte) für sin(), cos() etc. ins Bogenmaß (engl. "radians") umrechnen und Ergebnisse von asin(), acos() etc. vom Bogenmaß in Grad.
ich weiß, dass man das wahrscheinlich nicht tun sollte, aber nun gehts:
hab mir bei einem anderen programm angeschaut, wie er /sie das gelöst hat
, und hab bemerkt, dass ich dass schreiben muss:
*180/math.pi
Jetzt funkts auf jeden Fall, nur würde ich gerne noch wissen, was dieser Befehl bewirkt.
Hier die "wohl" Endfassung:
http://paste.pocoo.org/show/702/
hab mir bei einem anderen programm angeschaut, wie er /sie das gelöst hat

*180/math.pi
Jetzt funkts auf jeden Fall, nur würde ich gerne noch wissen, was dieser Befehl bewirkt.

Hier die "wohl" Endfassung:
http://paste.pocoo.org/show/702/
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Na, irgendwie muss man doch Bogenmaß-Werte auf Gradmaß-Werte umrechnen, besonders wenn man die entsprechenden Funktionen des math-Moduls nicht kennt.ClemeX hat geschrieben:Jetzt funkts auf jeden Fall, nur würde ich gerne noch wissen, was dieser Befehl bewirkt.![]()
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Du hast immer noch nicht den Fehler bei der Division beseitigt.ClemeX hat geschrieben: Hier die "wohl" Endfassung:
http://paste.pocoo.org/show/702/
Code: Alles auswählen
Laenge_x = (Laenge_a / Laenge_c)
Code: Alles auswählen
>>> 1/2
0