mirror of
https://github.com/gradio-app/gradio.git
synced 2025-02-11 11:19:58 +08:00
* state * state fix * variable -> state * fix * added state tests * formatting * fix test * formatting * fix test * added tests for bakcward compatibility * formatting * config fix * additional doc * doc fix * formatting
36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
import gradio as gr
|
|
import random
|
|
|
|
secret_word = "gradio"
|
|
|
|
with gr.Blocks() as demo:
|
|
used_letters_var = gr.State([])
|
|
with gr.Row() as row:
|
|
with gr.Column():
|
|
input_letter = gr.Textbox(label="Enter letter")
|
|
btn = gr.Button("Guess Letter")
|
|
with gr.Column():
|
|
hangman = gr.Textbox(
|
|
label="Hangman",
|
|
value="_"*len(secret_word)
|
|
)
|
|
used_letters_box = gr.Textbox(label="Used Letters")
|
|
|
|
def guess_letter(letter, used_letters):
|
|
used_letters.append(letter)
|
|
answer = "".join([
|
|
(letter if letter in used_letters else "_")
|
|
for letter in secret_word
|
|
])
|
|
return {
|
|
used_letters_var: used_letters,
|
|
used_letters_box: ", ".join(used_letters),
|
|
hangman: answer
|
|
}
|
|
btn.click(
|
|
guess_letter,
|
|
[input_letter, used_letters_var],
|
|
[used_letters_var, used_letters_box, hangman]
|
|
)
|
|
if __name__ == "__main__":
|
|
demo.launch() |