kailashlale's picture
Update app.py
aac086e
Raw
History Blame Contribute Delete
1.72 kB
import random
import gradio as gr
TARGET_NUMBER = 0
CURRENT_ATTEMPTS = 0
def reset_game_logic():
global TARGET_NUMBER, CURRENT_ATTEMPTS
TARGET_NUMBER = random.randint(1, 100)
CURRENT_ATTEMPTS = 0
def restart_game():
reset_game_logic()
return "Game restarted! I've picked a new number"
def number_guessing(guess_number):
global CURRENT_ATTEMPTS
guess = guess_number
CURRENT_ATTEMPTS += 1
if guess.isdigit():
if int(guess) > 100:
return "Please enter number below 100"
if int(guess) < 0:
return "Please enter number greater than 0"
if int(guess) == TARGET_NUMBER:
reset_game_logic()
return "Congratulations! You guess it correct"
if int(guess) < TARGET_NUMBER:
return f"Attempt:{CURRENT_ATTEMPTS} Your guess is too low \nEnter your next guess: "
return f"Attempt:{CURRENT_ATTEMPTS} Your guess is too high \nEnter your next guess: "
return "Enter Integer only"
reset_game_logic()
with gr.Blocks(title="Day01 Number Guessing Game") as demo:
gr.Markdown("## Number Guessing Game")
gr.Markdown("### Guess a number between 1 and 100!")
with gr.Row():
input_area = gr.Textbox(label="Enter your guess")
output_area = gr.Textbox(label="Result")
with gr.Row():
submit_btn = gr.Button("Submit", variant="primary")
restart_btn = gr.Button("Restart", variant="stop")
submit_btn.click( # pylint: disable=no-member
fn=number_guessing, inputs=input_area, outputs=output_area
)
restart_btn.click( # pylint: disable=no-member
fn=restart_game, inputs=None, outputs=output_area
)
demo.launch()