1
resposta

Meu código parece estar fazendo produto cartesiano entre as duas listas:

# codigo que adiciona valores a lista atraves do INPUT
idades = []
while True:
    try:
        idade = int(input("Qual a sua idade? "))
        idades.append(idade)
    except:
        break

Eu inseri os seguintes valores na lista:

idades = [15, 19, 20, 17]

# codigo que adiciona valores a lista atraves do INPUT
habilitacoes = []
while True:
    try:
        habilitacao = int(input("Insira 1 se possuir habilitação e 0 caso contrário: "))
        habilitacoes.append(habilitacao)
    except:
        break

Eu inseri os seguintes valores na lista:

habilitacoes = [1, 0, 0, 1]

def verificando_Se_Pode_Dirigir(idade,habilitaçao):
  for idade in idades:
    for habilitacao in habilitacoes:
      if (idade >= 18 and habilitacao == 1):
        print('A pessoa tem permisssão para dirigir')
      else:
        print('A pessoa não tem permissão para dirigir')

verificando_Se_Pode_Dirigir(idades, habilitacoes)

O resultado da minha função está saindo o código abaixo:

A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa tem permisssão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa tem permisssão para dirigir
A pessoa tem permisssão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa tem permisssão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir
A pessoa não tem permissão para dirigir

Segue abaixo o link das imagens

https://imgur.com/YkqLutf

https://imgur.com/DjOxh3i

https://imgur.com/4Ntraip

1 resposta

Alavaro, Correto esta um produto cartesiano o correto seria usar enumerate,

exemplo:

idades = [21, 19, 20, 17]
habilitacoes = [1, 0, 0, 1]

def verificando_Se_Pode_Dirigir(idade,habilitaçao):
  for idx, idade in enumerate(idades):
      if (idade >= 18 and habilitacoes[idx] == 1):
        print('A pessoa tem permisssão para dirigir')
      else:
        print('A pessoa não tem permissão para dirigir')

verificando_Se_Pode_Dirigir(idades, habilitacoes)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software