2
respostas

For dentro e fora da função

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?

2 respostas

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

FUNÇÃO

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)

Como funciona:

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

Continuação..

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..

Do outro jeito:

Agora acho que já ta um pouco mais claro.. sei lá se me expressei bem..

  • 1° Cria a Lista e Armazena em idades.
  • 2° a função pega a lista
  • 3° e a lista passa no for.
  • 4° o for vai ITERAR / RODAR/ PERCORRER / OLHAR A LISTA TODA e já vai mandar ela no IF que ta abaixo.
  • não sei se consigo ensinar legal..
  • mas o For ta fazendo isso...

a contagem aqui em baixo é o for passando e testando no if

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

é mais ou menos isso.. não sou professor, mas sei lá hehe quis ajudar

Olha quer ver isso acontecendo em tempo real mesmo de forma super interativa e impressionante?

COPIA A FUNÇÃO

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)

ENTRA NESSE SITE SINISTROOOOOOOO

https://www.onlinegdb.com/online_python_debugger

COLA A FUNÇÃO LÁ..

clica em DEBUG o Botão azul na barra superior.

VAI APARECER UM TERMINAL EM BAIXO..

clica em STEP OVER..

Cada vez que clicar em STEP OVER, ele vai executar um passo.. igual eu descrevi pra você.. 
era melhor eu ter pesquisado antes hehe

É SUPER INTERESSANTE..