Entregar valores um a um
Você tem três nomes de estação e quer recebê-los um de cada vez. A primeira linha na tela será north. A linha seguinte será east. A última linha será south.
def stations():
yield "north"
yield "east"
yield "south"
route = stations()
print(next(route))
print(next(route))
print(next(route))
A tela mostra três linhas. O primeiro print escreve north e mais nada. A linha yield "north" entrega esse nome a este print. east só é escrito quando o segundo print pede. O segundo print escreve east. O terceiro print escreve south. Um print não coloca os três nomes numa só linha. O programa termina. Não há quarta linha. None não é escrito nesta tela.
📊 o que cada print escreve na tela
| Qual print | a linha na tela |
|---|---|
| primeiro print(next(route)) | north |
| segundo print(next(route)) | east |
| terceiro print(next(route)) | south |
Depois de south, stations não tem mais nenhum yield. Um quarto print(next(route)) não está neste programa. Se você acrescentar essa linha, ela para com StopIteration, porque não há próximo nome. None não é escrito. A tela que você tem continua north, depois east, depois south.
Agora você pode pedir um nome de estação, depois o seguinte, depois o último. A tela mostra north, depois east, depois south. A próxima página coloca um invólucro em volta de uma função.
Um nome, depois o seguinte
O primeiro print escreve north, o segundo east, o terceiro south: a tela tem três linhas. A próxima página coloca um invólucro em volta de uma função.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo