2016-04-26 14 views
2

Ich denke, ich habe eine fehlerhafte Version von Python, weil ich das falsche Ergebnis bekomme. Wenn Sie Folgendes eingeben: sin (Grad (39)) * 41/28 direkt in Google, erhalten Sie den Wert 0,92150485832. Dies ist der korrekte Wert für die gegebene Gleichung.sin Gleichung in Python hält die falsche Antwort

Wenn ich versuche, dies in Python jedoch auszuführen, bekomme ich den Wert -1.11258224646.

Der Code I verwendet:

number= float(sin(degrees(39))*41/28) 
print number 

Ich habe auch den folgenden Code (removed Grad der 39 umgibt), die 1,41127181563 den Wert zurückgibt.

number= float(sin(39)*41/28) 
print number 

Gerade für die Tritte, ich habe auch versucht, den Code wie folgt aus:

number= float(sin(radians(39))*41/28) 
print number 

Dieser Code zurückgegeben die Antwort ,921504858323, die die richtige Antwort für die erste Gleichung

dass shouldn wäre nicht möglich, da 39 im Bogenmaß 0,680678408 ist. Und mit dieser Zahl in der Gleichung: (sin (0.680678408) * 41)/28 erhalten wir 0.017395421, nicht 0.921504858323.

Kann mir bitte jemand erklären, was hier vor sich geht. Ich bin hier verloren.

+0

Ich erwarte, dass 'Radiant (39)' besser in Englisch als „convert 39 Grad in Radianten“ bis „39 in Einheiten von Radian“ – infixed

+0

ja, aber 39 in Radianten im Gegensatz zu lesen ist, ist 0,680678408 der, wenn in dem verwendeten Gleichung gibt 0.017395421 nicht 0.921504858323 wie Python spuckt aus – user6240030

+0

mit dieser in Python: (sin (radians (39)) * 41)/28 gibt: 0.921504858323 mit diesem in Python: (sin (Grad (39)) * 41)/28 gibt: -1.11258224646 Sie sind beide falsch – user6240030

Antwort

2

Die Erklärung ist im Unterschied der Interpretation der Wörter "Grad" und "Radiant" zwischen Google und Python.

  1. in Python diese 2 sind Funktionen für die von einem Gerät zu einem anderen umzuwandeln:

    • math.degrees (x) - Konvertieren Winkel x von Radianten in Grad ist.
    • math.radians (x) - Winkel x von Grad in Bogenmaß umrechnen.

Zur Beurteilung "float (sin (radians (39)) * 41/28)" statement Python wandelt 39 Grad-Winkel in Radiant (0,680678), dann sin Berechnen (x), die den Sinus von x zurückgibt Radianten, so werden wir Sünde bekommen (39 Grad) * 41/28.

  1. Google verwendet 2 Wörter zur Erläuterung der Einheit und nicht zur Konvertierung. zu bewerten "sin (Grad (39)) * 41/28" Google versteht es als "Sünde (39 Grad) * 41/28", so dass es Einheiten zwischen Radiant und Grad nicht konvertiert. Es ist nur Berechnung Sinus von 39 Grad.