File size: 1,791 Bytes
547b652 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
import streamlit as st
import random
# Function for the number guessing game
def number_guessing_game():
# Generate a random number between 1 and 10
number_to_guess = random.randint(1, 10)
attempts = 0
guessed_correctly = False
# Initialize session state variables for tracking game state
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
# Streamlit UI
st.title("Number Guessing Game")
st.write("I'm thinking of a number between 1 and 10. Can you guess what it is?")
# Input: User guess
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)
# Option to reset the game
if st.session_state.guessed_correctly:
st.button("Play Again", on_click=reset_game)
# Function to reset the 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()
# Run the game
number_guessing_game()
|