Moduł random w Pythonie - W tym tutorialu połączymy programowanie w Pythonie z eksploracją kosmosu, tworząc generator losowych misji planetarnych. Używając modułu random, nauczysz się generować ekscytujące misje kosmiczne, poznając jednocześnie podstawowe koncepcje programowania.

Moduł random w Pythonie

Witajcie, dzielni odkrywcy kosmosu z Gdyńskiej Akademii Kosmicznej! Dziś nauczymy się, jak pozwolić losowi wybrać cel naszej podróży, używając modułu random w Pythonie. W końcu niektóre z największych odkryć w kosmosie wydarzyły się przez przypadek!

Zrozumienie Parametrów Naszej Misji

Zanim wyruszymy w nieznane, musimy zrozumieć dwa kluczowe komponenty:

  1. Moduł Pythona random - nasza kosmiczna kostka do gry
  2. Dane układu słonecznego - nasze możliwe cele podróży

Zacznijmy od zaimportowania naszych narzędzi nawigacji kosmicznej:

import random

Najpierw stwórzmy bazę danych układu słonecznego. Zapiszemy ciekawe fakty o każdej planecie:

planets = {
    "Merkury": {"distance": 77.3, "moons": 0, "surface": "Skalista"},
    "Wenus": {"distance": 38.2, "moons": 0, "surface": "Wulkaniczna"},
    "Mars": {"distance": 225.0, "moons": 2, "surface": "Pustynna"},
    "Jowisz": {"distance": 778.5, "moons": 95, "surface": "Gazowy Olbrzym"},
    "Saturn": {"distance": 1434.0, "moons": 83, "surface": "Gazowy Olbrzym"},
    "Uran": {"distance": 2871.0, "moons": 27, "surface": "Lodowy Olbrzym"},
    "Neptun": {"distance": 4495.0, "moons": 14, "surface": "Lodowy Olbrzym"}
}

Rzut Kosmiczną Kością

Teraz przychodzi ekscytująca część! Napiszmy funkcję, która losowo wybierze nasz cel:

def select_random_destination():
    # Wybierz losową planetę
    destination = random.choice(list(planets.keys()))
    # Pobierz szczegóły planety
    planet_info = planets[destination]
    return destination, planet_info
# Wypróbujmy naszą kosmiczną loterię!
planet, details = select_random_destination()

Uczyńmy To Bardziej Interesującym

A co, jeśli chcemy dodać parametry misji? Stwórzmy bardziej zaawansowaną funkcję:

def generate_mission():
    planet, details = select_random_destination()
    mission_duration = random.randint(100, 1000) # dni
    crew_size = random.randint(3, 8)
    print(f"Raport Misji")
    print(f"Cel podróży: {planet}")
    print(f"Odległość: {details['distance']} milionów km")
    print(f"Typ powierzchni: {details['surface']}")
    print(f"Liczba księżyców do zbadania: {details['moons']}")
    print(f"Czas trwania misji: {mission_duration} dni")
    print(f"Wielkość załogi: {crew_size} astronautów")

Moduł Random: Twój System Nawigacji Kosmicznej

Przeanalizujmy użyte funkcje losujące:

- random.choice(): Wybiera losowy element z sekwencji (jak wyciąganie karty z talii)

- random.randint(): Daje nam losową liczbę całkowitą między dwiema wartościami (włącznie)

Inne przydatne funkcje losowe do eksploracji kosmosu:

# Dla losowych liczb zmiennoprzecinkowych (przydatne dla współrzędnych!)
random_coordinate = random.uniform(-180, 180)
# Dla losowego wyboru z wagami (niektóre planety mogą być lepszym wyborem!)
weighted_choice = random.choices(
    list(planets.keys()),
    weights=[1, 1, 2, 3, 2, 1, 1],  # Mars, Jupiter i Saturn są preferowane
    k=1
)[0]

Wypróbuj Sam!

Teraz możesz generować własne misje kosmiczne! Oto kompletny przykład do uruchomienia:

print("\nGenerowanie nowej misji...")
generate_mission()

Notatki Centrum Kontroli Misji

Pamiętajcie, kadeci:

  • Moduł random używa generatora liczb pseudolosowych
  • Zawsze sprawdzajcie szczegóły waszego celu przed startem!

Gotowi do eksploracji kosmosu? Uruchomcie ten kod i zobaczcie, dokąd zaprowadzi was wasza następna przygoda! Pamiętajcie, że w eksploracji kosmosu czasami najciekawsze odkrycia pochodzą z przypadku.

import random

planets = {
    "Merkury": {"distance": 77.3, "moons": 0, "surface": "Skalista"},
    "Wenus": {"distance": 38.2, "moons": 0, "surface": "Wulkaniczna"},
    "Mars": {"distance": 225.0, "moons": 2, "surface": "Pustynna"},
    "Jowisz": {"distance": 778.5, "moons": 95, "surface": "Gazowy Olbrzym"},
    "Saturn": {"distance": 1434.0, "moons": 83, "surface": "Gazowy Olbrzym"},
    "Uran": {"distance": 2871.0, "moons": 27, "surface": "Lodowy Olbrzym"},
    "Neptun": {"distance": 4495.0, "moons": 14, "surface": "Lodowy Olbrzym"}
}

def select_random_destination():

    # Wybierz losową planetę
    destination = random.choice(list(planets.keys()))

    # Pobierz szczegóły planety
    planet_info = planets[destination]
    return destination, planet_info
    
# Wypróbujmy naszą kosmiczną loterię!
planet, details = select_random_destination()

def generate_mission():
    planet, details = select_random_destination()
    mission_duration = random.randint(100, 1000) # dni
    crew_size = random.randint(3, 8)
    print(f"Raport Misji")
    print(f"Cel podróży: {planet}")
    print(f"Odległość: {details['distance']} milionów km")
    print(f"Typ powierzchni: {details['surface']}")
    print(f"Liczba księżyców do zbadania: {details['moons']}")
    print(f"Czas trwania misji: {mission_duration} dni")
    print(f"Wielkość załogi: {crew_size} astronautów")
    
print("\nGenerowanie nowej misji...")
generate_mission()