teste-2 / app.py
Edmn's picture
Create app.py
6d893f3 verified
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)