novo Strings Projetos
This commit is contained in:
parent
8b713f90d9
commit
230fbaefaa
|
@ -409,9 +409,33 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"\n",
|
||||
"<center>\n",
|
||||
"<h2>Fim da rodada, Mestre dos Magos</h2>\n",
|
||||
"<h3>\n",
|
||||
"Você fez 41.1 pontos.\n",
|
||||
"</h3>\n",
|
||||
"<img src='img/mago-64px.png' />\n",
|
||||
"<br />\n",
|
||||
"Quer continuar ? <br />\n",
|
||||
"(S)im / (N)ão\n",
|
||||
"</center>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"<IPython.core.display.HTML object>"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from IPython.display import HTML\n",
|
||||
"\n",
|
||||
|
|
|
@ -0,0 +1,209 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Projetos com Strings, variáveis e operadores"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Abaixo encontramos novamente trechos importantes dos códigos que trabalhamos anteriormente. Vamos usá-los como base para um novo programa, que vai apresentar uma tela de `final de partida` melhorada, com mais informações sobre a rodada.\n",
|
||||
"\n",
|
||||
"Para isso vamos dividir o projeto em `tarefas`. \n",
|
||||
"\n",
|
||||
"- Tarefa 1: Substituir o HTML por texto simples\n",
|
||||
"- Tarefa 2: Separar a mensagem em cabeçalho, corpo e rodapé\n",
|
||||
"- Tarefa 3: Acrescentar estatísticas da partida à mensagem\n",
|
||||
"- Tarefa 4: Melhore as estatísticas mostrando os pontos de experiência, de magia e de bônus\n",
|
||||
"\n",
|
||||
"O objetivo desse projeto é treinar o uso de Strings e, variáveis e operadores e mostrar como tarefas complexas são implementadas aos poucos, incrementalmente - cada tarefa avança, melhora e se beneficia do trabalho que foi feito na tarefa anterior."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Código base para o projeto\n",
|
||||
"\n",
|
||||
"- Cálculo dos pontos ganhos em uma rodada"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"experiencia = 20\n",
|
||||
"pts_experiencia = 0.05\n",
|
||||
"pts_magia = 0.5\n",
|
||||
"robos = 2\n",
|
||||
"\n",
|
||||
"resultado = (robos * pts_experiencia) + (robos * pts_magia) + (robos * experiencia)\n",
|
||||
"\n",
|
||||
"print(f'Você ganhou {resultado} pontos!')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"- Exibição dos pontos usando texto formatado"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from IPython.display import HTML\n",
|
||||
"\n",
|
||||
"jogador = 'Mestre dos Magos'\n",
|
||||
"\n",
|
||||
"experiencia = 20\n",
|
||||
"pts_experiencia = 0.05\n",
|
||||
"pts_magia = 0.5\n",
|
||||
"robos = 2\n",
|
||||
"\n",
|
||||
"mensagem = '''\n",
|
||||
"<center>\n",
|
||||
"<h2>Fim da rodada, %s</h2>\n",
|
||||
"<h3>\n",
|
||||
"Você fez %s pontos.\n",
|
||||
"</h3>\n",
|
||||
"<img src='img/mago-64px.png' />\n",
|
||||
"<br />\n",
|
||||
"Quer continuar ? <br />\n",
|
||||
"(S)im / (N)ão\n",
|
||||
"</center>\n",
|
||||
"'''\n",
|
||||
"\n",
|
||||
"resultado = (robos * pts_experiencia) + (robos * pts_magia) + (robos * experiencia)\n",
|
||||
"\n",
|
||||
"HTML(mensagem % (jogador, resultado))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Tarefa 1: Substituir o HTML por texto simples\n",
|
||||
"\n",
|
||||
"Primeiros vamos voltar a usar texto simples e a função `print()` para exibir a saída do nosso programa.\n",
|
||||
"\n",
|
||||
"Retire todas as marcações HTML da string atribuída à variável `mensagem`, deixando apenas o texto. As marcações HTML são as que aparecem entre `<` e `>`, como `<center>` e `<img >`, etc.\n",
|
||||
"\n",
|
||||
"> Dica: A imagem do mago pode ser substituída por um `emoji`. Você pode colar este aqui 🧙 no texto ou usar um `caractere de escape` especial para isso. O caractere é `\\N{}` Entre as chaves você coloca o nome do caractere Unicode do Emoji que você quer escrever. Você pode consultar os Emojis e seus nomes na Emojipedia https://emojipedia.org/. (para mostrar o Mago, use o nome `mage`, assim: `\\N{mage}`)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Tarefa 2: Separar a mensagem em cabeçalho, corpo e rodapé\n",
|
||||
"\n",
|
||||
"O objetivo desta tarefa é alterar o código que gera a mensagem para que fique mais fácil editar pedaços dela separadamente, sem afetar o restante da mensagem.\n",
|
||||
"\n",
|
||||
"Para isso, divida a mensagem em 3 partes, guardando cada parte em 1 variável diferente. \n",
|
||||
"As partes são:\n",
|
||||
"\n",
|
||||
"- `cabeçalho`: Fim da rodada, %s\n",
|
||||
"- `corpo`: Você fez %s pontos\n",
|
||||
"- `rodapé`: Quer continuar? (S)im / (N)ão\n",
|
||||
"\n",
|
||||
"Ao final, imprima a mensagem completa.\n",
|
||||
"\n",
|
||||
"> Dica: Use 3 chamadas à função `print()` para imprimir a mensagem completa, uma para cada variável que você criou para o cabeçalho, corpo e rodapé. Lembre-se de continuar usando o operador `%` para fazer a susbtituição dos valores."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Tarefa 3: Acrescentar estatísticas da partida à mensagem\n",
|
||||
"\n",
|
||||
"Acrescente uma nova parte à mensagem com estatísticas da partida. As estatísticas devem mostrar:\n",
|
||||
"\n",
|
||||
"- pontos de experiência do jogador\n",
|
||||
"- quantos robôs foram capturados na rodada\n",
|
||||
"\n",
|
||||
"Imprima as estatísticas após o `corpo` da mensagem.\n",
|
||||
"\n",
|
||||
"> Dica: usa uma nova variável para guardar esta nota parte da mensagem."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Tarefa 4: Melhore as estatísticas mostrando os pontos de experiência, de magia e de bônus\n",
|
||||
"\n",
|
||||
"Já calculamos os pontos de experiência ganhos por robô capturado e também os de magia e bônus. Porém, eles não estão aparecendo para o jogador. Eles estão apenas sendo usados no cálculo do total de pontos.\n",
|
||||
"\n",
|
||||
"Melhore as estatísticas apresentadas exibindo para o jogador quantos pontos de experiência, de magia e de bônus ele ganhou nesta rodada.\n",
|
||||
"\n",
|
||||
"> Dica: Altere a fórmula que calcula os pontos dividindo ela em partes, uma para cada componente do cálculo (xp, magia, bônus) e guarde cada parte em uma variável diferente. Assim você vai poder usar cada um desses valores mais facilmente para gerar a mensagem."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3.10.5 64-bit (windows store)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.5"
|
||||
},
|
||||
"orig_nbformat": 4,
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "81d56cede9ef4caf6a61e146de670b37a2edead0ccb6294f4b93deebf2edb1a9"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
Loading…
Reference in New Issue