Losowy wybór planety na misję kosmiczną z modułem random w Pythonie

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()

Dyskusja

Masz pytania lub pomysły do tego artykułu? Dołącz do dyskusji.

Zaloguj się, żeby pytać i odpowiadać.

Eksploruj również inne tematy

Poradnik funkcji w Pythonie dla początkujących: przykład kodu z def, parametrami i return

Funkcje w Pythonie dla początkujących

Naucz się pisać własne funkcje w Pythonie: od pierwszego def, przez return, wartości domyślne i zasięg zmiennych, aż po działający program. Z przykładami do uruchomienia, typowymi błędami i sześcioma projektami do samodzielnego zrobienia.

Przeliczanie liczb dziesiętnych na szóstkowy system liczbowy Rocky'ego w Pythonie

Szóstkowy system liczbowy w Pythonie

Eridianie z Project Hail Mary liczą w systemie szóstkowym, bo mają po trzy palce na dwóch rękach. Zbudujmy w Pythonie konwerter, który przetłumaczy nasze liczby na eridiańskie symbole i odwrotnie.

Instrukcje if, elif i else w Pythonie na przykładach z misji kosmicznych

Python If/Else dla początkujących

Naucz się instrukcji if, elif i else w Pythonie dzięki przejrzystym, kosmicznym przykładom i praktycznym ćwiczeniom. Idealny przewodnik dla początkujących, którzy chcą kontrolować przepływ swoich programów.

Pętle zagnieżdżone w Pythonie przetwarzające siatki 2D, tabele i obrazy

Pętle zagnieżdżone w Pythonie

Pętle zagnieżdżone pozwalają pracować z danymi 2D jak siatki, tabele i obrazy. Dowiedz się jak działają, unikaj pułapek i pisz czytelniejszy kod w Pythonie.