13092024: streamlit - Eliza J.
Skrypt z użyciem biblioteki streamlit uruchamiamy nie poprzez przycisk play, a poprzez zintegrowany terminal: twoj_skrypt.py -> prawy przycisk myszki -> Otwórz w zintegrowanym terminalu.
Następnie, w otwartym terminalu wpisujemy komendę streamlit run twoj_skrypt.py -> Enter.
streamlit API reference:
API Reference - Streamlit Docs

#Rzut wirtualną monetą
import streamlit as st
import random
# Tytuł aplikacji
st.title("Orzeł czy reszka?")
# Ścieżki do obrazków
obrazki = ["orzel.jpg", "reszka.jpg"]
# Funkcja losująca obrazek
losowanie=random.choice(obrazki)
if st.button("Sprawdzaj"):
st.image(losowanie)
#Wirtualna kostka
import streamlit as st
import random
# Tytuł aplikacji
st.title("Rzuć wirtualną kostką")
# Określenie "boków" kostki
kostka = [1, 2, 3, 4, 5, 6]
# Funkcja "rzucająca" kostką
rzut=random.choice(kostka)
if st.button("Rzucaj"):
st.write("Twój wynik to: ")
st.write(rzut)
# Gra "Zgadnij liczbę"
import streamlit as st
import random
# Tytuł aplikacji
st.title("Zgadnij liczbę!")
# Podtytuł
st.write("Gra polega na zgadnięciu liczby z zakresu 1-10.")
# Funkcja do generowania randomowej liczby do zgadnięcia
def nowa_gra():
return random.randint(1, 10)
# Inicjalizacja stanu gry, jeśli nie istnieje
if 'liczba' not in st.session_state:
st.session_state.liczba = nowa_gra()
st.session_state.moj_input = 0
st.session_state.liczba_prob = 5
st.session_state.game_over = False
# Przycisk "Nowa gra"
if st.button("Nowa gra"):
st.session_state.liczba = nowa_gra()
st.session_state.moj_input = 0
st.session_state.liczba_prob = 5
st.session_state.game_over = False
st.write("Nowa gra rozpoczęta! Masz 5 prób.")
# Zgadywanie poprzez użycie slidera
if not st.session_state.game_over:
moj_input = st.slider("Jaka to liczba?", min_value=1, max_value=10, value=st.session_state.moj_input, step=1)
else:
moj_input = st.session_state.moj_input
# Przycisk "Sprawdź"
if st.button("Sprawdź"):
if st.session_state.game_over:
st.write("Zacznij nową grę, aby spróbować ponownie.")
else:
st.session_state.moj_input = moj_input # Aktualizacja wartości w session state
if st.session_state.moj_input == st.session_state.liczba:
st.write("Brawo, zgadłeś!")
st.session_state.game_over = True
st.session_state.liczba_prob = 5 # Reset liczby prób po wygranej
st.balloons() # Wyświetlanie balonów, gdy zgadniesz
else:
st.session_state.liczba_prob -= 1
if st.session_state.liczba_prob > 0:
if st.session_state.moj_input < st.session_state.liczba:
st.write("Źle! Szukana liczba jest większa.")
else:
st.write("Źle! Szukana liczba jest mniejsza.")
st.write(f"Spróbuj ponownie! Pozostałe próby: {st.session_state.liczba_prob}")
else:
st.write(f"Koniec gry! Prawidłowa liczba to: {st.session_state.liczba}")
st.session_state.game_over = True # Ustawienie flagi końca gry
#QR Code generator z użyciem streamlit
import qrcode
from PIL import Image
import streamlit as st
from qrcode.image.pure import PyPNGImage
import io
def generuj_qr(dane):
global qkod, obrazek
qrkod = qrcode.make(dane, image_factory=PyPNGImage)
img_buffer = io.BytesIO()
qrcode.save(img_buffer)
return img_buffer
st.title("Generuj kod QR")
link = st.text_input(label="Wprowadź url:")
if st.button ("Wciśnij mnie!"):
st.image(image=generuj_qr(link))