1
resposta

Idade Repetida no print

Detalhei mais meu código para aparecer a idade que ele puxa da lista e dizer se pode ou não poder dirigir. Quando executo no tipo boleano ele aparece de maneira correta, mas ao tentar fazer com que no print apareça a idade que ele está verificando da lista idades aparece sempre como 18. O que devo acrescentar no meu código?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi Ederson,

é por causa do jeito que está estruturado o seu segundo loop.Se vc olhar isoladamente para o seu segundo bloco de código:

for permissao in permissoes:
    if permissao == True:
        print(f'{idade} anos, pode dirigir)
    else:
        print(f'{idade} anos, não pode dirigir)

vc está chamando a variável idade, mas não está percorrendo ela em qualquer momento desse loop.Na verdade esse '18' que está mostrando, deve ser de alguma variável que vc tinha testado antes no seu notebook e simplesmente manteve o valor.Tenta assim:

for i, permissao in enumerate(permissoes):
    if permissao == True:
        print(f'{idades[i]} anos, pode dirigir)
    else:
        print(f'{idades[i]} anos, não pode dirigir)

O enumerate() apenas faz com que seu loop agora tenha também um valor que vai de zero até o tamanho máximo do seu iterador. E como permissao e idades tem o mesmo comprimento, vc consegue usar o índice do iterador em enumerate(permissoes) para achar a posição correta em idades.