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()