-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
49 lines (37 loc) · 1.39 KB
/
app.py
File metadata and controls
49 lines (37 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import streamlit as st
from content import conteudo
# Configurações da página
st.set_page_config(
page_title='python docs',
page_icon='🐍'
)
if "topico_selecionado" not in st.session_state:
st.session_state.topico_selecionado = "Introdução"
with st.sidebar:
st.title("Python")
for t in conteudo:
with st.expander(t["topico"]):
if st.button(t["topico"], use_container_width=True, key=f"top_{t['topico']}"):
st.session_state.topico_selecionado = t["topico"]
for sub in t["subtopicos"]:
st.caption(sub["titulo"])
topico = next(t for t in conteudo if t['topico'] == st.session_state.topico_selecionado)
# Mostra o tópico principal
st.header(topico['topico'])
# Itera sobre os subtópicos
for sub in topico['subtopicos']:
# Mostra o título dos subtópicos
st.subheader(sub['titulo'])
# mostra o 'texto' que seria a explicação de cada tópico
st.write(sub['texto'])
# Iterar sobre os blocos (contém todos os códigos)
for bl in sub['blocos']:
# Mostrar explicação do código
st.write(bl['descricao'])
# Mostrar o código
st.code(bl['codigo'], language="python")
# Iterar sobre as observações
if sub['observacoes'] != []:
with st.container(border=True):
for i in sub['observacoes']:
st.write(i)