I am trying to write an application to play Wheel of Fortune. Once I draw a password and want to e.g. draw points the password disappears. I know that this is caused by refreshing the application after pressing another button, but I do not know how to stop it.
This is how my code looks like.
import streamlit as st
import random
# Create a list containing the letters in a word
def lista_slowo(slowo):
slowo = slowo.lower()
lista_slowo = []
for litera in slowo:
lista_slowo.append(litera)
return lista_slowo
# Create an empty list to display
def pusta_lista_na_tablicy(slowo):
pusta_lista_na_tablicy = []
for litera in slowo:
pusta_lista_na_tablicy.append("_")
return pusta_lista_na_tablicy
# Converting a list to a string
def zamien_na_stringa(lista_na_tablicy):
napis = ""
for x in lista_na_tablicy:
napis = napis + x + " "
return napis
st.sidebar.title("Koło fortuny")
st.sidebar.text("Witamy w grze Koło Fortuny.")
st.sidebar.text("Wybierz liczbę graczy.\nNastępnie kliknij przycisk 'Losuj kategorię'.")
slownik_kategorii = {"Zwierzęta":["Krowa","Kura","Koń"],
"Owoce":["Mandarynka","Pomarańcza","Truskawka"],
"Warzywa":["Ogórek","Marchewka","Sałata"],
"Ubrania":["Spodnie","Koszulka","Koszula"],
"Pojazdy":["Samochód","Motocykl","Samolot"]}
slownik_wartosci = [100,200,300,400,500,600,700,800,900,1000,1500,0]
ilosc_graczy = st.sidebar.selectbox("Wybierz ilość graczy",[1,2])
losuj = st.sidebar.button("Losuj kategorię")
kategoria = st.subheader("")
if losuj:
kategoria = random.choice(list(slownik_kategorii))
st.subheader(f"Kategoria: {kategoria}")
slowo = random.choice(slownik_kategorii[kategoria])
lista_na_tablicy = pusta_lista_na_tablicy(slowo)
napis = zamien_na_stringa(lista_na_tablicy)
st.title(napis)
st.text("Słowo do odgadnięcia " + slowo)
odgaduj = st.sidebar.button("Odgadnij hasło")
krec = st.sidebar.button("Kręć kołem")
podaj_litere = st.sidebar.button("Podaje spółgłoskę")
if krec:
wartosc = random.choice(slownik_wartosci)
st.sidebar.text("Wartość spółgłoski: " + str(wartosc) + " zł")
if podaj_litere:
podana_litera = ""
podana_litera = st.sidebar.text_input("Wpisz spółgłoskę")
st.sidebar.text(podana_litera)
I tried to replace the password generation button with a radio, but then every time you click another button the password draw from scratch
Aucun commentaire:
Enregistrer un commentaire