Python für Physik
Verfasst: Samstag 11. November 2023, 23:21
Hallo, Leute
ich habe gerade Schwierigkeiten mit meinem Code.
da unten stehen Aufgaben und mein Code.
mein Code sieht so aus. Und bei Aufgabe 3 funktioniert irgendwie nicht.
wahrscheinlich kann Jemand mir beibringen, warum es nicht funktioniert?
-------------------------------
Ein Skispringer mit einer Masse von 60,0 kg startet aus der Ruhe in einer Höhe von 27 m über dem Ende einer Sprungschanze (siehe Abbildung). In dem Moment, in dem der Skispringer die Schanze verlässt, bildet seine Geschwindigkeit einen Winkel von 28 ° relativ zur Horizontalen. Vernachlässigen Sie den Luftwiderstand und nehmen Sie an, dass die Schanze reibungsfrei ist.
Erstellen Sie für die Lösung ein Python Skript, welches folgende Schritte ausführt:
1.Weisen Sie der Variable v_ms den Betrag der Geschwindigkeit in m/szu, mit der der Skifahrer die Schanze verlässt.
2.Weisen Sie der variable hmax_m Maximalhöhe über dem Ende der Schanze in Metern zu, die der Skispringer während seines Sprungs erreicht
3.Wenn der Skispringer seine Masse durch einen Rucksack der Masse 10 kg vergrößern würde, wäre die maximale Flughöhe hmax_m dann (a) größer, (b) kleiner oder (c) genauso groß wie zuvor? Weisen Sie hierfür der Variable Antwort zunächst eine Liste der Länge 3 (einen Vektor) zu, die drei Zahlen enthält. Setzen Sie das Element des Vektors, dass der richtigen Antwort entspricht auf den Wert 1 und belassen die drei anderen Elemente bei 0 (für die Antwort (a) soll nur das erste Element des Vektors 1 sein, für die Antwort (b) soll nur das zweite Element und für die Antwort (c) nur das dritte Element).
-----------------------------------
########################
import math
# Gegebene Werte
masse_springer_kg = 60.0 # Masse des Skispringers in kg
hohe_start_m = 27 # Höhe des Starts über dem Ende der Schanze in Metern
winkel_grad = 28 # Winkel der Geschwindigkeit relativ zur Horizontalen in Grad
masse_rucksack_kg = 10.0 # Masse des Rucksacks in kg
g = 9.81 # Erdbeschleunigung in m/s^2
# Umrechnung des Winkels von Grad in Radiant
winkel_rad = math.radians(winkel_grad)
# Berechnung der Geschwindigkeit beim Verlassen der Schanze (v)
v_ms = math.sqrt(2 * 9.81 * hohe_start_m)
# Berechnung der maximalen Flughöhe (hmax)
hmax_m = (v_ms**2 * math.sin(winkel_rad)**2) / (2 * 9.81)
# Berechnung der maximalen Flughöhe mit dem Rucksack (hmax_rucksack)
masse_springer_rucksack_kg = masse_springer_kg + masse_rucksack_kg
hmax_rucksack_m = (v_ms**2 * math.sin(winkel_rad)**2) / (2 * 9.81 * masse_springer_rucksack_kg)
# Überprüfung, ob die maximale Flughöhe mit dem Rucksack größer, kleiner oder gleich der ursprünglichen maximalen Flughöhe ist
antwort = [0, 0, 0] # Antwortvektor [a, b, c]
if hmax_rucksack_m > hmax_m:
antwort[0] = 1 # Antwort (a) - größer
elif hmax_rucksack_m < hmax_m:
antwort[1] = 1 # Antwort (b) - kleiner
else:
antwort[2] = 1 # Antwort (c) - genauso groß
# Ausgabe der Ergebnisse
print("Geschwindigkeit beim Verlassen der Schanze (v):", v_ms, "m/s")
print("Maximale Flughöhe über dem Ende der Schanze (hmax):", hmax_m, "m")
print("Antwort:",antwort)
########################
ich habe gerade Schwierigkeiten mit meinem Code.
da unten stehen Aufgaben und mein Code.
mein Code sieht so aus. Und bei Aufgabe 3 funktioniert irgendwie nicht.
wahrscheinlich kann Jemand mir beibringen, warum es nicht funktioniert?
-------------------------------
Ein Skispringer mit einer Masse von 60,0 kg startet aus der Ruhe in einer Höhe von 27 m über dem Ende einer Sprungschanze (siehe Abbildung). In dem Moment, in dem der Skispringer die Schanze verlässt, bildet seine Geschwindigkeit einen Winkel von 28 ° relativ zur Horizontalen. Vernachlässigen Sie den Luftwiderstand und nehmen Sie an, dass die Schanze reibungsfrei ist.
Erstellen Sie für die Lösung ein Python Skript, welches folgende Schritte ausführt:
1.Weisen Sie der Variable v_ms den Betrag der Geschwindigkeit in m/szu, mit der der Skifahrer die Schanze verlässt.
2.Weisen Sie der variable hmax_m Maximalhöhe über dem Ende der Schanze in Metern zu, die der Skispringer während seines Sprungs erreicht
3.Wenn der Skispringer seine Masse durch einen Rucksack der Masse 10 kg vergrößern würde, wäre die maximale Flughöhe hmax_m dann (a) größer, (b) kleiner oder (c) genauso groß wie zuvor? Weisen Sie hierfür der Variable Antwort zunächst eine Liste der Länge 3 (einen Vektor) zu, die drei Zahlen enthält. Setzen Sie das Element des Vektors, dass der richtigen Antwort entspricht auf den Wert 1 und belassen die drei anderen Elemente bei 0 (für die Antwort (a) soll nur das erste Element des Vektors 1 sein, für die Antwort (b) soll nur das zweite Element und für die Antwort (c) nur das dritte Element).
-----------------------------------
########################
import math
# Gegebene Werte
masse_springer_kg = 60.0 # Masse des Skispringers in kg
hohe_start_m = 27 # Höhe des Starts über dem Ende der Schanze in Metern
winkel_grad = 28 # Winkel der Geschwindigkeit relativ zur Horizontalen in Grad
masse_rucksack_kg = 10.0 # Masse des Rucksacks in kg
g = 9.81 # Erdbeschleunigung in m/s^2
# Umrechnung des Winkels von Grad in Radiant
winkel_rad = math.radians(winkel_grad)
# Berechnung der Geschwindigkeit beim Verlassen der Schanze (v)
v_ms = math.sqrt(2 * 9.81 * hohe_start_m)
# Berechnung der maximalen Flughöhe (hmax)
hmax_m = (v_ms**2 * math.sin(winkel_rad)**2) / (2 * 9.81)
# Berechnung der maximalen Flughöhe mit dem Rucksack (hmax_rucksack)
masse_springer_rucksack_kg = masse_springer_kg + masse_rucksack_kg
hmax_rucksack_m = (v_ms**2 * math.sin(winkel_rad)**2) / (2 * 9.81 * masse_springer_rucksack_kg)
# Überprüfung, ob die maximale Flughöhe mit dem Rucksack größer, kleiner oder gleich der ursprünglichen maximalen Flughöhe ist
antwort = [0, 0, 0] # Antwortvektor [a, b, c]
if hmax_rucksack_m > hmax_m:
antwort[0] = 1 # Antwort (a) - größer
elif hmax_rucksack_m < hmax_m:
antwort[1] = 1 # Antwort (b) - kleiner
else:
antwort[2] = 1 # Antwort (c) - genauso groß
# Ausgabe der Ergebnisse
print("Geschwindigkeit beim Verlassen der Schanze (v):", v_ms, "m/s")
print("Maximale Flughöhe über dem Ende der Schanze (hmax):", hmax_m, "m")
print("Antwort:",antwort)
########################