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?
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 CA
5° 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 1
def 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