
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:
- Moduł Pythona
random
- nasza kosmiczna kostka do gry - 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()