Pessoal, estou tendo um pouco de dificuldade de entender qual é a diferença do uso do for dentro e fora da função. Alguém consegue me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoal, estou tendo um pouco de dificuldade de entender qual é a diferença do uso do for dentro e fora da função. Alguém consegue me ajudar?
Oi Ana tudo bem.. Na 1° opção a lista de Idades vai ser chamado pelo for dentro da Função: O for vai chamar 1 por 1 e passar na Função.. verifica_se_pode_dirigir(idade)
vou numerar para tentar explicar hehehe
idades = [18, 22, 15, 50]
def verifica_se_pode_dirigir(idade):
if idade >= 18:
print(f'{idade} anos de idade, TEM permissão para dirigir')
else:
print(f'{idade} anos de idade, NÃO TEM permissão para dirigir')
for idade in idades:
verifica_se_pode_dirigir(idade)
1° Quando executar CRIAR A LISTA e armazena em idades
2° a lista entra na função
3° A Função passa a lista para o for que faz a primeira iteração ou primeira volta e armazena o primeiro número da lista no caso 18
4° o for joga o número que pegou para verifica_se_pode_dirigir(idade)idades = [18, 22, 15, 50] ------ 1° CRIA A LISTA E ARMAZENA EM IDADES
def verifica_se_pode_dirigir(idade): -------- 2° LE A VARIÁVEL IDADE E PASSA PARA O FOR
if idade >= 18:
print(f'{idade} anos de idade, TEM permissão para dirigir')
else:
print(f'{idade} anos de idade, NÃO TEM permissão para dirigir')
for idade in idades: -------- 3° PRIMEIRA ITERAÇÃO PEGA O NUMERO 18
verifica_se_pode_dirigir(idade) -------- 4° o FOR PASSA O NUMERO PARA CA5° Após Receber o número que o for passou a função age.
6° Ele já verificou e armazenou o resultado por trás dos panos..
7° a lista já está na função então agora só vai ficar passando no FOR e Verificando 1 por 1def verifica_se_pode_dirigir(idade): 5° AGORA VOU VERIFICAR SE 18 É >= Ou Não.
if idade >= 18:
print(f'{idade} anos de idade, TEM permissão para dirigir')
else:
print(f'{idade} anos de idade, NÃO TEM permissão para dirigir')
for idade in idades: 7° número 22 / 9° numero 15 / 11° número 50
verifica_se_pode_dirigir(idade) 8° executa a função / 10° executa a função / 12° executa a função
13° ele imprime tudo..
Agora acho que já ta um pouco mais claro.. sei lá se me expressei bem..
para cada idade la dentro da lista de idades:
4° vamos ver se o 50 vai cair no else também... 50 >= 18:
print(f'{idade "18"} anos de idade, TEM permissão para dirigir')
1° Eu vou olhar se é verdedade que o número 18 é >= 18:
Hum.. 18 é igual 18... Armazena la no resultado então e faz oque o IF MANDA
print(f'{idade "18"} anos de idade, TEM permissão para dirigir')
2° aproveitando que to aqui vou ver o 22.. é maior.. armazena também IF MANDA
print(f'{idade "22"} anos de idade, TEM permissão para dirigir')
3° vou aproveitar e ver o 15 também.. putz é menor... joga ele lá no ELSE pq aqui ele não passa.
Caiu no ELSE vai fazer o que o ELSE manda...:
print(f'{idade "15"} anos de idade, NÃO TEM permissão para dirigir')
o for ta passando toda a lista no if de uma vez só e dpois faz os prints quando tudo termina
idades = [18, 22, 15, 50]
def verifica_se_pode_dirigir(idade):
if idade >= 18:
print(f'{idade} anos de idade, TEM permissão para dirigir')
else:
print(f'{idade} anos de idade, NÃO TEM permissão para dirigir')
for idade in idades:
verifica_se_pode_dirigir(idade)https://www.onlinegdb.com/online_python_debugger
Cada vez que clicar em STEP OVER, ele vai executar um passo.. igual eu descrevi pra você..
era melhor eu ter pesquisado antes hehe