Liczby i Podstawowe Operacje Matematyczne w Pythonie - Poznaj podstawy operacji matematycznych w Pythonie na przykładach z dziedziny eksploracji kosmosu. Omówimy typy liczb, operatory i praktyczne zastosowania, które pomogą Ci rozpocząć przygodę z programowaniem.

Liczby i Podstawowe Operacje Matematyczne w Pythonie

Podczas planowania misji kosmicznych i analizowania danych astronomicznych, matematyka jest naszym najbardziej niezawodnym narzędziem. Python, dzięki swojej intuicyjnej składni i potężnym możliwościom numerycznym, stał się preferowanym językiem programowania agencji kosmicznych i astronomów na całym świecie. W tym artykule poznamy, jak Python obsługuje liczby i podstawowe operacje matematyczne — wiedzę niezbędną dla każdego zainteresowanego nauką o kosmosie i programowaniem.

Typy Liczb w Pythonie

Python oferuje kilka typów numerycznych, które są kluczowe dla różnych obliczeń, od obliczania czasu trwania misji po analizę odczytów z czujników.

Liczby Całkowite (int)

Liczby całkowite w Pythonie mogą mieć dowolną długość, ograniczoną jedynie pamięcią komputera. Jest to szczególnie przydatne przy operowaniu odległościami astronomicznymi lub odczytami z czujników statków kosmicznych:

# Odległość do Księżyca w metrach
distance_to_moon = 384400000  
# Typowa wysokość orbity satelity w metrach
low_earth_orbit = 408000

# Używanie podkreśleń dla czytelności dużych liczb
jupiter_diameter = 142_984_000  # metry

Liczby Zmiennoprzecinkowe (float)

Do precyzyjnych obliczeń, takich jak obliczanie prędkości czy temperatur w przestrzeni kosmicznej, używamy liczb zmiennoprzecinkowych:

# Prędkość statku kosmicznego w km/s
spacecraft_velocity = 7.67
# Odczyty temperatury w Kelwinach
external_temperature = 294.15

# Notacja naukowa dla bardzo dużych liczb
distance_to_mars = 2.25e8  # 225 milionów kilometrów

Podstawowe Operacje Matematyczne w Pythonie

Dodawanie i Odejmowanie

# Obliczanie całkowitego czasu misji (dni)
travel_time = 150
surface_operations = 30
return_time = 150
total_mission_time = travel_time + surface_operations + return_time
print(f"Całkowity czas misji na Marsa: {total_mission_time} dni")

# Obliczanie pozostałego paliwa (litry)
initial_fuel = 1000000
used_fuel = 850000
remaining_fuel = initial_fuel - used_fuel
print(f"Pozostałe paliwo: {remaining_fuel} litrów")

Mnożenie i Dzielenie

# Obliczanie siły ciągu rakiety (F = m * a)
mass = 1000  # kg
acceleration = 9.81  # m/s²
thrust_force = mass * acceleration
print(f"Siła ciągu: {thrust_force} Newtonów")

# Obliczanie czasu podróży (odległość/prędkość)
distance = 100000  # km
speed = 25  # km/h
time = distance / speed
print(f"Czas podróży: {time} godzin")

Dzielenie Całkowite i Modulo

Python oferuje dwa typy dzielenia:

# Zwykłe dzielenie (zwraca float)
mission_hours = 100
days = mission_hours / 24
print(f"Czas trwania misji: {days} dni")

# Dzielenie całkowite (zwraca int)
days_on_mars = 365
weeks = days_on_mars // 7
remaining_days = days_on_mars % 7
print(f"Długość misji na Marsie: {weeks} tygodni i {remaining_days} dni")

Kolejność Działań w Pythonie

Python przestrzega standardowej kolejności działań (PEMDAS):

  1. Nawiasy (Parentheses)
  2. Potęgi (Exponents)
  3. Mnożenie i Dzielenie (od lewej do prawej)
  4. Dodawanie i Odejmowanie (od lewej do prawej)
# Przykład kolejności działań
thrust = 1000
weight = 300
gravity = 9.81

# Bez nawiasów - nieprawidłowe obliczenie
incorrect_force = thrust - weight * gravity
print(f"Nieprawidłowe obliczenie siły: {incorrect_force}")

# Z nawiasami - prawidłowe obliczenie
correct_force = thrust - (weight * gravity)
print(f"Prawidłowe obliczenie siły: {correct_force}")

Popularne Operacje i Ich Symbole

  • Dodawanie: +
  • Odejmowanie: -
  • Mnożenie: *
  • Dzielenie: /
  • Dzielenie całkowite: //
  • Modulo (reszta z dzielenia): %
  • Potęgowanie: **
# Przykłady podstawowych operacji
thrust = 5000
atmospheric_drag = 500
net_thrust = thrust - atmospheric_drag  # Odejmowanie

rocket_stages = 3
engines_per_stage = 4
total_engines = rocket_stages * engines_per_stage  # Mnożenie

solar_panel_power = 2 ** 10  # 2 do potęgi 10
print(f"Moc wyjściowa paneli słonecznych: {solar_panel_power} watów")

Wskazówki Dotyczące Pracy z Liczbami

1. Używaj podkreśleń w dużych liczbach dla zwiększenia czytelności:

orbital_distance = 384_400_000  # Bardziej czytelne niż 384400000

2. Uważaj na typy dzielenia:

# Zwykłe dzielenie (zwraca float)
thrust_ratio = 1000 / 300  # 3.333...

# Dzielenie całkowite (zwraca int)
crew_supplies = 100 // 3  # 33

3. Używaj nawiasów w razie wątpliwości co do kolejności działań:

total_mass = (fuel_mass + tank_mass) * safety_factor

Co Dalej

Te podstawowe operacje numeryczne w Pythonie stanowią fundament dla bardziej zaawansowanych obliczeń związanych z przestrzenią kosmiczną. Gdy opanujesz te podstawy, możesz przejść do:

  • Pracy z bardziej złożonymi operacjami matematycznymi
  • Używania wbudowanych funkcji matematycznych Pythona
  • Wykonywania konwersji jednostek
  • Analizowania danych z misji kosmicznych

Ćwiczenia

Spróbuj rozwiązać te ćwiczenia, aby przetestować swoje zrozumienie operacji na liczbach w Pythonie:

1. Kalkulator Czasu Misji

Misja na Marsa składa się z:

  • 180 dni podróży na Marsa
  • 215 dni na powierzchni
  • 180 dni podróży powrotnej

Oblicz całkowity czas misji w:

  • Dniach
  • Tygodniach (użyj dzielenia całkowitego)
  • Miesiącach (zakładając 30 dni na miesiąc, użyj zwykłego dzielenia)

2. Zużycie Paliwa

Statek kosmiczny startuje z 25000 litrów paliwa. Zużywa:

  • 8000 litrów na start
  • 4500 litrów na manewry orbitalne
  • 7500 litrów na lądowanie

Oblicz:

  • Ile paliwa pozostało
  • Jaki procent początkowego paliwa pozostał (wskazówka: pomnóż przez 100 dla uzyskania procentów)

3. Komunikacja Satelitarna

Satelita wysyła 15 pakietów danych na minutę. Oblicz, ile pakietów wyśle w:

  • 1 godzinę
  • 24 godziny

Użyj podkreśleń, aby liczby były czytelne.

4. Konwersja Temperatury

Temperatura w bazie księżycowej wynosi 22°C. Przelicz ją na Kelwiny używając wzoru:

  • Kelwin = Celsjusz + 273.15

Następnie oblicz temperaturę, gdy spadnie o 15 stopni.

5. Moc Paneli Słonecznych

Statek kosmiczny ma 12 paneli słonecznych. Każdy panel produkuje 150 watów mocy. Oblicz:

  • Całkowitą produkcję mocy
  • Ile komputerów może działać, jeśli każdy potrzebuje 100 watów
  • Pozostałe waty po zasileniu komputerów

Użyj operatora modulo (%) do znalezienia pozostałych watów.

Photo by Kier in Sight Archives on Unsplash

# Odległość do Księżyca w metrach
distance_to_moon = 384400000  
# Typowa wysokość orbity satelity w metrach
low_earth_orbit = 408000

# Używanie podkreśleń dla czytelności dużych liczb
jupiter_diameter = 142_984_000  # metry

# Prędkość statku kosmicznego w km/s
spacecraft_velocity = 7.67
# Odczyty temperatury w Kelwinach
external_temperature = 294.15

# Notacja naukowa dla bardzo dużych liczb
distance_to_mars = 2.25e8  # 225 milionów kilometrów

# Obliczanie całkowitego czasu misji (dni)
travel_time = 150
surface_operations = 30
return_time = 150
total_mission_time = travel_time + surface_operations + return_time
print(f"Całkowity czas misji na Marsa: {total_mission_time} dni")

# Obliczanie pozostałego paliwa (litry)
initial_fuel = 1000000
used_fuel = 850000
remaining_fuel = initial_fuel - used_fuel
print(f"Pozostałe paliwo: {remaining_fuel} litrów")

# Obliczanie siły ciągu rakiety (F = m * a)
mass = 1000  # kg
acceleration = 9.81  # m/s²
thrust_force = mass * acceleration
print(f"Siła ciągu: {thrust_force} Newtonów")

# Obliczanie czasu podróży (odległość/prędkość)
distance = 100000  # km
speed = 25  # km/h
time = distance / speed
print(f"Czas podróży: {time} godzin")

# Zwykłe dzielenie (zwraca float)
mission_hours = 100
days = mission_hours / 24
print(f"Czas trwania misji: {days} dni")

# Dzielenie całkowite (zwraca int)
days_on_mars = 365
weeks = days_on_mars // 7
remaining_days = days_on_mars % 7
print(f"Długość misji na Marsie: {weeks} tygodni i {remaining_days} dni")

# Przykład kolejności działań
thrust = 1000
weight = 300
gravity = 9.81

# Bez nawiasów - nieprawidłowe obliczenie
incorrect_force = thrust - weight * gravity
print(f"Nieprawidłowe obliczenie siły: {incorrect_force}")

# Z nawiasami - prawidłowe obliczenie
correct_force = thrust - (weight * gravity)
print(f"Prawidłowe obliczenie siły: {correct_force}")

# Przykłady podstawowych operacji
thrust = 5000
atmospheric_drag = 500
net_thrust = thrust - atmospheric_drag  # Odejmowanie

rocket_stages = 3
engines_per_stage = 4
total_engines = rocket_stages * engines_per_stage  # Mnożenie

solar_panel_power = 2 ** 10  # 2 do potęgi 10
print(f"Moc wyjściowa paneli słonecznych: {solar_panel_power} watów")

# Używanie podkreśleń dla czytelności
orbital_distance = 384_400_000  # Bardziej czytelne niż 384400000

# Zwykłe dzielenie (zwraca float)
thrust_ratio = 1000 / 300  # 3.333...

# Dzielenie całkowite (zwraca int)
crew_supplies = 100 // 3  # 33