View difference between Paste ID: ncyczfLE and 0uDFkzt5
SHOW: | | - or go back to the newest paste.
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()