giganciprogramowania

cieplo-zimno-starter-gp

Aug 30th, 2025
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import random
  2.  
  3. # Funkcja wyboru poziomu trudności
  4. # Zwraca zakres liczb (low, high) w zależności od wyboru gracza
  5. def choose_difficulty():
  6.     return 0,0
  7.    
  8. # Funkcja sprawdzająca, czy podany ciąg znaków jest poprawną liczbą całkowitą
  9. def is_valid_integer(text):
  10.     return text.isdigit()
  11.  
  12. # Główna funkcja pojedynczej rozgrywki
  13. # Obsługuje przebieg gry od losowania liczby po zgadnięcie
  14. def play_game():
  15.     low, high = choose_difficulty()         # Ustawienie zakresu
  16.     secret = random.randint(low, high)      # Wylosowanie sekretnej liczby
  17.     attempts = 0                            # Licznik prób
  18.     previous_diff = None                    # Poprzednia różnica (dla ciepło-zimno)
  19.  
  20.     print(f"\n🔢 Zgadnij liczbę od {low} do {high}!")
  21.  
  22.     while True:
  23.         user_input = input("Twoja liczba: ")
  24.         if not is_valid_integer(user_input):
  25.             print("⚠️ Podaj poprawną liczbę całkowitą!")
  26.             continue
  27.  
  28.         guess = int(user_input)
  29.         if guess < low or guess > high:
  30.             print(f"🚫 Liczba poza zakresem! Podaj liczbę od {low} do {high}.")
  31.             continue
  32.  
  33.         attempts += 1
  34.         current_diff = abs(secret - guess)
  35.  
  36.         if guess == secret:
  37.             print(f"🎉 Brawo! Trafiłeś w {attempts} próbach.")
  38.             return attempts
  39.            
  40.         # Logika podpowiedzi „ciepło–zimno”
  41.         if previous_diff is None:
  42.             if current_diff > (high - low) // 2:
  43.                 print("🥶 Zimno...")
  44.             else:
  45.                 print("🌡️ Ciepło!")
  46.         else:
  47.             if current_diff < previous_diff:
  48.                 print("🔥 Goręcej!")
  49.             elif current_diff > previous_diff:
  50.                 print("❄️ Zimniej!")
  51.             else:
  52.                 print("😐 Tak samo jak poprzednio...")
  53.  
  54.         previous_diff = current_diff
  55.  
  56. # Funkcja główna programu – zarządza wieloma rundami gry
  57. # Prowadzi statystyki i pokazuje podsumowanie na końcu
  58. def main():
  59.     results = []
  60.  
  61.     print("🎯 Witaj w grze: Ciepło–Zimno – Zgadnij Liczbę!")
  62.  
  63.     while True:
  64.         attempts = play_game()
  65.         results.append(attempts)
  66.  
  67.         again = input("\nCzy chcesz zagrać jeszcze raz? (t/n): ").lower()
  68.         if again != 't':
  69.             break
  70.    
  71.     # Podsumowanie wyników
  72.     print("\n📊 Twoje wyniki:")
  73.     for i, tries in enumerate(results, 1):
  74.         print(f"Runda {i}: {tries} prób")
  75.     print(f"🔚 Średnia liczba prób: {sum(results) / len(results):.2f}")
  76.  
  77. main()
Add Comment
Please, Sign In to add comment