CowBull / app.py
JAYASWAROOP's picture
Update app.py
ba80bce
raw
history blame
1.25 kB
import random as r
import gradio as gr
def generate_number():
while True:
num = [r.randint(1, 9)] + [r.randint(0, 9) for _ in range(3)]
if len(set(num)) == 4:
return ''.join(map(str, num))
def play_game(guess):
secret_number = [int(i) for i in generated_number]
guessed_number = [int(i) for i in guess]
if len(set(guess)) != 4 or guess[0] == '0':
return "Invalid input. Please enter a 4-digit number with non-repeating digits and the first digit not being 0."
cow = sum(g == s for g, s in zip(guessed_number, secret_number))
bull = sum(g in secret_number and g != s for g, s in zip(guessed_number, secret_number))
if cow == 4:
return "Congratulations! You won the game."
else:
return f"Bulls: {bull}\nCows: {cow}"
# Generate the secret number
generated_number = generate_number()
# Interface setup
input_text = gr.inputs.Textbox(label="Enter your guess (4-digit number)")
output_text = gr.outputs.Textbox()
iface = gr.Interface(fn=play_game, inputs=input_text, outputs=output_text, title="Bulls and Cows Game", layout="vertical",
description="Welcome to the Bulls and Cows game! Try to guess the secret 4-digit number.")
iface.launch()