Skip to content

Commit 9b17067

Browse files
committed
Add new lessons in Portuguese
1 parent 6d2185e commit 9b17067

File tree

77 files changed

+2283
-175
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+2283
-175
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from random import *
2+
3+
print("Serviço de escolha de nome para animais de estimação")
4+
print("------------------")
5+
6+
names = ["Bob", "Fluffy", "Martin", "Spot"]
7+
8+
#imprime um nome aleatório da lista de nomes
9+
print("Você deve chamar seu animal de estimação de " , choice(names))
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: Gerador de Cumprimentos — Notas para instrutores
3+
language: pt-BR
4+
embeds: "*.png"
5+
...
6+
7+
#Introdução:
8+
Este projeto ensina as crianças a usar listas, a acessar elementos de uma lista, a adicionar e remover itens de uma lista. Os alunos aprendem por meio de um gerador de cumprimentos, que dá ao usuário um cumprimento aleatório a partir de uma lista.
9+
10+
#Recursos
11+
Para este projeto, é necessário instalar o Python. É recomendado que a versão 3.2 do Python seja instalada.
12+
13+
As crianças também podem usar os materiais que acompanham os desafios. Arquivos da pasta 'Project Resources' (encontrada sob o link 'Download Project Materials'):
14+
15+
+ ComplimentGenerator.py
16+
17+
Verifique se todas as crianças têm acesso de leitura e escrita às cópias desses recursos.
18+
19+
Você pode encontrar uma versão completa dos desafios deste projeto clicando no link 'Download Project Materials' para este projeto, que contém:
20+
21+
+ PetNamingService.py
22+
23+
#Objetivos de aprendizado
24+
+ Listas;
25+
+ Arrays e acesso a elementos de listas;
26+
+ Uso do método `random.choice()` em uma lista;
27+
+ Métodos `append()` e `remove()` de listas.
28+
29+
#Desafios
30+
+ Adicione mais cumprimentos - adicione itens a uma lista;
31+
+ Duplicação de hobbies - teste e corrija um problema;
32+
+ Serviço de escolha de nome para animais de estimação - aplique o uso de listas para um novo problema.
33+
34+
#Perguntas frequentes
35+
+ As crianças podem precisar de ajuda para lembrar que os itens de uma lista são separados por uma vírgula, e que não há vírgula depois do último item de uma lista.
36+
Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
---
2+
title: Gerador de Cumprimentos
3+
level: Python 1
4+
language: pt-BR
5+
stylesheet: python
6+
embeds: "*.png"
7+
materials: ["Project Resources/*.*","Club Leader Resources/*.*"]
8+
...
9+
10+
#Introdução: { .intro}
11+
12+
Aprenda a usar listas para armazenar vários dados em 1 variável.
13+
14+
#Etapa 1: É legal ser legal { .activity}
15+
16+
Neste projeto, você vai fazer um programa que dá um cumprimento gerado aleatoriamente para o usuário!
17+
18+
## Lista de verificação da atividade { .check}
19+
20+
+ Em seus projetos, até agora você usou uma variável para armazenar um único dado, como um nome ou uma pontuação. Mas e se você quiser armazenar vários dados? Em Python, você pode usar uma _lista_ para armazenar vários dados em 1 variável:
21+
22+
```python
23+
bigPlanets = [ "júpiter" , "saturno" , "urano" , "netuno"]
24+
```
25+
26+
Esta lista de texto também é conhecida como um _array_ de texto. Para acessar itens da lista, você só precisa saber a posição do item. Execute esse programa para ter uma ideia melhor de como as listas funcionam:
27+
28+
```python
29+
bigPlanets = [ "júpiter" , "saturno" , "urano" , "netuno"]
30+
print( bigPlanets )
31+
print( bigPlanets[0] )
32+
print( bigPlanets[1] )
33+
print( bigPlanets[2] )
34+
print( bigPlanets[3] )
35+
```
36+
37+
![screenshot](compliment-planets.png)
38+
39+
Como você pode ver, as posições começam em 0 e não em 1, então `bigPlanets[1]` é "saturno" (o segundo item) e não "júpiter".
40+
41+
+ Você pode usar uma lista chamada `cumprimentos` para armazenar todos os cumprimentos possíveis para o seu programa gerador de cumprimentos, e então usar `choice(cumprimentos)` para escolher um cumprimento aleatório para o usuário:
42+
43+
```python
44+
from random import *
45+
46+
print("Gerador de Cumprimentos")
47+
print("--------------------")
48+
49+
cumprimentos = [ "Excelente trabalho. Realmente muito bem feito." ,
50+
"Suas habilidades de programação são muito, muito boas." ,
51+
"Você é um humano excelente."
52+
]
53+
54+
#imprime um item aleatório da lista 'cumprimentos'
55+
print(choice(cumprimentos))
56+
print("De nada!")
57+
```
58+
59+
![screenshot](compliment-list.png)
60+
61+
+ Você pode tornar seus cumprimentos um pouco mais interessantes combinando itens aleatórios de 2 listas diferentes:
62+
63+
```python
64+
from random import *
65+
66+
print("Gerador de Cumprimentos")
67+
print("--------------------")
68+
69+
adjetivos = [ "maravilhoso" , "acima da média" , "excelente" ]
70+
hobbies = [ "andar de bicicleta" , "programar" , "fazer chá" ]
71+
72+
nome = input("Qual é o seu nome?: ")
73+
print( "Aqui está o seu cumprimento" , nome , ":" )
74+
75+
#obtém um item aleatório de ambas as listas e adiciona-os ao cumprimento
76+
print( nome , "você é" , choice(adjetivos) , "em" , choice(hobbies) )
77+
print( "De nada!" )
78+
```
79+
80+
![screenshot](compliment-2lists.png)
81+
82+
## Salve seu projeto {.save}
83+
84+
## Desafio: Adicione mais cumprimentos { .challenge}
85+
Tente pensar em mais cumprimentos e adicione-os ao seu programa! Lembre-se de que você precisa adicionar uma vírgula (`,`) entre os itens em suas listas.
86+
87+
## Salve seu projeto {.save}
88+
89+
#Etapa 2: Cumprimentos sem fim { .activity}
90+
91+
## Lista de verificação da atividade { .check}
92+
93+
+ Usando o que você sabe sobre laços `while` (enquanto) e instruções `if` (se), você pode modificar seu programa para continuar dando cumprimentos até que o usuário decida sair:
94+
95+
```python
96+
from random import *
97+
98+
#o programa continua em execução enquanto a variável for verdadeira 'True'
99+
executa = True
100+
101+
adjetivos = [ "maravilhoso" , "acima da média" , "excelente" ]
102+
hobbies = [ "andar de bicicleta" , "programar" , "fazer chá" ]
103+
104+
print("Gerador de Cumprimentos")
105+
print("--------------------")
106+
107+
nome = input("Qual é o seu nome?: ")
108+
109+
print('''
110+
Menu
111+
c = obter cumprimento
112+
q = sair
113+
''')
114+
115+
while executa == True:
116+
117+
menuChoice = input("\n>_").lower()
118+
119+
#'c' para um cumprimento
120+
if menuChoice == 'c':
121+
122+
print( "Aqui está o seu cumprimento" , nome , ":" )
123+
124+
#obtém um item aleatório de ambas as listas e adiciona-os ao cumprimento
125+
print( nome , "você é" , choice(adjetivos) , "em" , choice(hobbies) )
126+
print( "De nada!" )
127+
128+
#'q' para sair
129+
elif menuChoice == 'q':
130+
131+
executa = False
132+
133+
else:
134+
135+
print("Escolha uma opção válida!")
136+
```
137+
138+
![screenshot](compliment-loop.png)
139+
140+
Lembre-se de que o laço `while` continua a ser executado enquanto a variável `executa` for verdadeira `True`. Se o usuário digitar `q` para sair, `executa` é definida como falsa `False`.
141+
142+
## Salve seu projeto {.save}
143+
144+
#Etapa 3: Personalização de cumprimentos { .activity}
145+
146+
## Lista de verificação da atividade { .check}
147+
148+
+ Seu gerador de cumprimentos está começando a ganhar forma, mas ele tem um problema: e se o usuário não souber andar de bicicleta ou fazer chá? Nesse caso, seus cumprimentos não serão verdadeiros e não vão animá-lo!
149+
150+
Vamos modificar seu programa, de forma que o usuário possa escolher adicionar ou remover itens da lista de `hobbies`, para que ele possa personalizar os cumprimentos recebidos:
151+
152+
```python
153+
from random import *
154+
155+
executa = True
156+
adjetivos = [ "maravilhoso" , "acima da média" , "excelente" ]
157+
hobbies = [ "andar de bicicleta" , "programar" , "fazer chá" ]
158+
159+
print("Gerador de Cumprimentos")
160+
print("--------------------")
161+
162+
nome = input("Qual é o seu nome?: ")
163+
164+
print('''
165+
Menu
166+
c = obter cumprimento
167+
a = adicionar hobby
168+
d = remover hobby
169+
p = imprimir hobbies
170+
q = sair
171+
''')
172+
173+
while executa == True:
174+
175+
menuChoice = input("\n>_").lower()
176+
177+
#'c' para um cumprimento
178+
if menuChoice == 'c':
179+
180+
print( "Aqui está o seu cumprimento" , nome , ":" )
181+
182+
#obtém um item aleatório de ambas as listas e adiciona-os ao cumprimento
183+
print( nome , "você é" , choice(adjetivos) , "em" , choice(hobbies) )
184+
print( "De nada!" )
185+
186+
#'a' para adicionar hobby
187+
elif menuChoice == 'a':
188+
189+
itemToAdd = input("Adicione o hobby: ")
190+
hobbies.append(itemToAdd)
191+
192+
#'d' para remover um hobby
193+
elif menuChoice == 'd':
194+
195+
itemToDelete = input("Insira o hobby a ser removido: ")
196+
hobbies.remove(itemToDelete)
197+
198+
#'p' para imprimir a lista de hobbies
199+
elif menuChoice == 'p':
200+
print(hobbies)
201+
202+
#'q' para sair
203+
elif menuChoice == 'q':
204+
205+
executa = False
206+
207+
else:
208+
209+
print("Insira uma opção válida!")
210+
```
211+
212+
Como você pode ver, você pode usar `append()` para adicionar a uma lista, e `remove()` para remover um item. Execute esse programa e personalize os hobbies na lista para que eles sirvam para você. Peça ao programa que cumprimente você até que fique de bom humor!
213+
214+
+ Quando testou o programa acima, você encontrou algum problema? No momento, seu gerador de cumprimentos para de funcionar se você tentar remover um cumprimento que não está na lista:
215+
216+
![screenshot](compliment-error.png)
217+
218+
Você pode consertar esse problema, primeiro verificando se o item a ser removido existe na lista. Substitua seu código para remover um hobby por este código:
219+
220+
```python
221+
#'d' para remover um hobby
222+
elif menuChoice == 'd':
223+
224+
itemToDelete = input("Insira o hobby a ser removido: ")
225+
#só remove um item se ele estiver na lista
226+
if itemToDelete in hobbies:
227+
hobbies.remove(itemToDelete)
228+
else:
229+
print("O hobby não está na lista!")
230+
```
231+
232+
Agora, execute o programa e tente remover um hobby que não está na lista:
233+
234+
![screenshot](compliment-errorfix.png)
235+
236+
## Salve seu projeto {.save}
237+
238+
## Desafio: Duplicação de hobbies { .challenge}
239+
Outro problema com o programa é que é possível adicionar o mesmo hobby mais de uma vez:
240+
241+
![screenshot](compliment-hobbiesx2.png)
242+
243+
Você consegue resolver esse problema? Assim, um hobby só pode ser adicionado se ele ainda não estiver na lista:
244+
245+
```python
246+
if itemToAdd not in hobbies:
247+
#adicione o código aqui...
248+
```
249+
250+
## Salve seu projeto {.save}
251+
252+
## Desafio: Serviço de escolha de nome para animais de estimação { .challenge}
253+
Escreva um programa para ajudar um novo dono a dar nome ao seu animal de estimação:
254+
255+
![screenshot](compliment-pet.png)
256+
257+
Seu programa pode:
258+
+ permitir que o usuário adicione e remova itens da lista;
259+
+ dar nomes diferentes para animais machos e fêmeas, ou para tipos diferentes de animais;
260+
+ perguntar ao usuário quantos nomes eles precisam, caso eles tenham mais de um animal de estimação para dar nome.
261+
262+
## Salve seu projeto {.save}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import random
2+
3+
print("Gerador de Cumprimentos")
4+
print("--------------------")
5+
6+
cumprimentos = [ "Excelente trabalho. Realmente muito bem feito." ,
7+
"Suas habilidades de programação são muito, muito boas." ,
8+
"Você é um humano excelente."
9+
]
10+
11+
#imprime um item aleatório da lista 'cumprimentos'
12+
print(random.choice(cumprimentos))
13+
print("De nada!")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from random import *
2+
3+
print("Compliment Generator")
4+
print("--------------------")
5+
6+
compliments = [ "Great job on that thing you did. Really super." ,
7+
"You have really really nice programming skills." ,
8+
"You make an excellent human."
9+
]
10+
11+
#print a random item in the 'compliments' list
12+
print(choice(compliments))
13+
print("You're welcome!")
15.4 KB
Loading
11.9 KB
Loading
7.31 KB
Loading
5.85 KB
Loading
13.6 KB
Loading

0 commit comments

Comments
 (0)