Carregando...

Valor de retorno

return tira um valor da função. cups_left recebe started e drank e devolve started - drank. Por isso cups_left(3, 1) é o número 2.

print está fora da função e escreve o que saiu. cups_left não tem um print próprio.

sai 2

python
def cups_left(started, drank):
    return started - drank

print(cups_left(3, 1))

O ecrã mostra 2. Quem escreveu foi o print, não cups_left. Com outros números sai essa subtração. cups_left(3, 3) é 0, porque 3 - 3 é 0.

Uma linha por baixo de return continua recuada e faz parte da função. Mesmo assim não corre. return sai da função logo, e o Python nunca chega a essa linha.

a linha sob return não corre

python
def cups_left(started, drank):
    return started - drank
    print("done")

print(cups_left(3, 1))

O ecrã mostra 2. done não é escrito. print("done") está recuado debaixo de def, mas return já saiu da função.

Sem return não sai valor nenhum, e o resultado é None. None quer dizer que não há valor. greet escreve o nome lida e não tem return. A palavra lida no ecrã vem desse print de dentro. O resultado de greet("lida") em si é None.

o print de dentro não é o resultado

python
def greet(name):
    print(name)

print(greet("lida"))

O ecrã mostra lida e depois None. greet escreveu lida. O print de fora escreveu o resultado. Esse resultado é None, porque greet não tem return.

Três usos, e o que sai de cada um. Na linha de greet o resultado é None, embora o ecrã também mostre lida. Esse lida é o print de dentro, não o resultado.

📊 O que sai

Uso Resultado
cups_left(3, 1) 2
cups_left(3, 3) 0
greet("lida") sem return None

A página seguinte diz até onde um nome vale. Aqui só vemos o valor que sai.

Antes de responder

  1. O que escreve print(cups_left(3, 1))?
  2. O que é cups_left(3, 3)?
  3. print("done") está sob return. done é escrito?
  4. greet só escreve o nome. Que duas linhas escreve print(greet("lida"))?

O valor que sai

return started - drank faz do resultado esse número. print(cups_left(3, 1)) escreve 2, e cups_left(3, 3) é 0. Uma linha sob return não corre, por isso done nunca aparece. Sem return, print(greet("lida")) escreve lida e depois None.

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
5
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 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