File size: 2,042 Bytes
2ae450d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st

# Dados da tabela em formato que possa ser diretamente convertido em Markdown
dados_tabela = [
    "Linha | numeros | chave | valor | resultado | valor % 2 | Ação",
    "--- | --- | --- | --- | --- | --- | ---",
    "1 | {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} | - | - | - | - | Inicializa `numeros`",
    "2 | {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} | - | - | {} | - | Inicializa `resultado` como dicionário vazio",
    "3-7 | {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} | a | 1 | {'a': 'ímpar'} | 1 | Loop começa, `valor=1` é ímpar",
    "3-7 | {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} | b | 2 | {'a': 'ímpar', 'b': 'par'} | 0 | `valor=2` é par, adiciona 'par' ao resultado",
    # Adicione as linhas restantes conforme necessário...
    "8 | {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} | - | - | {'a': 'ímpar', 'b': 'par', 'c': 'ímpar', 'd': 'par', 'e': 'ímpar'} | - | Imprime o dicionário `resultado`"
]


st.markdown ('''
```python
1. numeros = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
2. resultado = {}
3. for chave, valor in numeros.items():
4.    if valor % 2 == 0:
5.        resultado[chave] = 'par'
6.    else:
7.        resultado[chave] = 'ímpar'
8. print(resultado)
```

''',  unsafe_allow_html = True
)

# Inicializando o índice da linha atual
if 'indice_atual' not in st.session_state:
    st.session_state.indice_atual = 0

# Função para adicionar a próxima linha e mostrar a tabela acumulada
def adicionar_e_mostrar_linhas():
    # Verificar se ainda há linhas a serem adicionadas
    if st.session_state.indice_atual < len(dados_tabela):
        # Exibir as linhas acumuladas até o momento
        tabela_markdown = "\n".join(dados_tabela[:st.session_state.indice_atual + 1])
        st.markdown(tabela_markdown, unsafe_allow_html = True)
        st.session_state.indice_atual += 1
    else:
        st.markdown("Todas as linhas foram exibidas.")

# Botão para mostrar a próxima linha e atualizar a exibição
st.button("Mostrar próxima linha", on_click=adicionar_e_mostrar_linhas)