import streamlit as st #Globals legal_numbers = [1,2,3,4,5,6,7,8,9] def get_userInput(): input = st.text_input("Enter a number between 1 to 9: ", key="input") return input def validate_userInput(user_input): if user_input.isdigit(): if int(user_input) < 1 or int(user_input) > 9: return "Please enter a digit between 1 to 9." else: legal_numbers = legal_numbers.pop(int(user_input)-1) update_legalNumbers(legal_numbers) else: return "Please enter a digit between 1 to 9." def display_board(firstRun): if firstRun: col1, col2, col3 = st.columns(3) col4, col5, col6 = st.columns(3) col7, col8, col9 = st.columns(3) with col1: st.text("X") with col2: st.text("O") with col3: st.text("...") with col4: st.text(" X ") with col5: st.text(" O ") with col6: st.text(" ... ") with col7: st.text(" X ") with col8: st.text(" O ") with col9: st.text(" ... ") # else: def reset_legalNumbers(): legal_numbers = [1,2,3,4,5,6,7,8,9] def update_legalNumbers(legal_numbers): st.text("Legal Numbers: " + "".join(str(legal_numbers))) #print (legal_numbers) #UIApp starts here st.set_page_config(page_title="Python - Tic Tac Toe", page_icon=":python:") st.header("Python - Tic Tac Toe") user_input=get_userInput() display_board(True) #Button functionality if submit: st.subheader("") update_legalNumbers(legal_numbers) #st.write(response) else: update_legalNumbers(legal_numbers) if replay: display_board(True) reset_legalNumbers() #UI Buttons submit=st.button('Submit') replay=st.button('Replay') #After User Interaction response=validate_userInput(user_input)