|
|
import streamlit as st |
|
|
import random |
|
|
|
|
|
|
|
|
def number_guessing_game(): |
|
|
|
|
|
number_to_guess = random.randint(1, 10) |
|
|
attempts = 0 |
|
|
guessed_correctly = False |
|
|
|
|
|
|
|
|
if "number_to_guess" not in st.session_state: |
|
|
st.session_state.number_to_guess = number_to_guess |
|
|
st.session_state.attempts = attempts |
|
|
st.session_state.guessed_correctly = guessed_correctly |
|
|
|
|
|
|
|
|
st.title("Number Guessing Game") |
|
|
st.write("I'm thinking of a number between 1 and 10. Can you guess what it is?") |
|
|
|
|
|
|
|
|
guess = st.number_input("Enter your guess:", min_value=1, max_value=10, step=1) |
|
|
|
|
|
if st.button("Submit Guess"): |
|
|
if guess < st.session_state.number_to_guess: |
|
|
st.session_state.attempts += 1 |
|
|
st.write("Too low! Try again.") |
|
|
elif guess > st.session_state.number_to_guess: |
|
|
st.session_state.attempts += 1 |
|
|
st.write("Too high! Try again.") |
|
|
else: |
|
|
st.session_state.guessed_correctly = True |
|
|
st.session_state.attempts += 1 |
|
|
st.write(f"Congratulations! You guessed the number {st.session_state.number_to_guess} in {st.session_state.attempts} attempts.") |
|
|
st.button("Play Again", on_click=reset_game) |
|
|
|
|
|
|
|
|
if st.session_state.guessed_correctly: |
|
|
st.button("Play Again", on_click=reset_game) |
|
|
|
|
|
|
|
|
def reset_game(): |
|
|
st.session_state.number_to_guess = random.randint(1, 10) |
|
|
st.session_state.attempts = 0 |
|
|
st.session_state.guessed_correctly = False |
|
|
st.experimental_rerun() |
|
|
|
|
|
|
|
|
number_guessing_game() |
|
|
|