Python zajecia 12 (zadanie)
GRA liczbowa
import streamlit as st
import random
st.title("🎯 Gra liczbowa")
st.write("Witaj w grze! Zgadnij liczbę od 1 do 100.")
#reset gry
if 'reset_gra' in st.session_state and st.session_state.reset_gra:
st.session_state.losowa_liczba = random.randint(1, 100)
st.session_state.liczba_prob = 10
st.session_state.reset_gra = False
# Losowanie liczby
if "losowa_liczba" not in st.session_state:
st.session_state.losowa_liczba = random.randint(1, 100)
# Liczba prób
if "liczba_prob" not in st.session_state:
st.session_state.liczba_prob = 10
if 'reset_gra' not in st.session_state:
st.session_state.reset_gra = False
# do testów
# st.write(st.session_state.losowa_liczba)
# Pobranie liczby od użytkownika
wybrana_liczba = st.number_input("Wprowadź liczbę od 1 do 100:", min_value=1, max_value=100, step=1)
# Przycisk zgadywania
if st.button("Sprawdź") and st.session_state.liczba_prob > 0:
st.session_state.liczba_prob -= 1
if wybrana_liczba == st.session_state.losowa_liczba:
st.success("🎉 Bingo! Zgadłeś!")
st.balloons()
elif wybrana_liczba > st.session_state.losowa_liczba:
st.warning(f"Twoja liczba jest za duża. Zostało {st.session_state.liczba_prob} prób.")
else:
st.warning(f"Twoja liczba jest za mała. Zostało {st.session_state.liczba_prob} prób.")
# Sprawdzenie przegranej
if st.session_state.liczba_prob == 0 and wybrana_liczba != st.session_state.losowa_liczba:
st.error("😢 Przegrałeś! 💔 Wyczerpałeś wszystkie próby.")
st.write(f"Prawidłowa liczba to: {st.session_state.losowa_liczba}")
st.snow()
if st.button("Zagraj jeszcze raz"):
st.session_state.reset_gra = True
st.rerun()