Meu código não imprime certo o resultado, o que posso ter feito de errado?
O correto é TRUE , FALSE, TRUE e esta dando outro resultado.
Meu código não imprime certo o resultado, o que posso ter feito de errado?
O correto é TRUE , FALSE, TRUE e esta dando outro resultado.
Olá, Adriano! Tudo bem com você?
A lógica implementada por você está correta. O detalhe que fez com que você não obtivesse o resultado esperado está no tipo da variável idades. Por se tratar de um conjunto, que é uma coleção não ordenada em Python, você não possui o controle de em qual ordem será iterado dentro do loop for, dessa forma o primeiro elemento que apareceu no seu laço de repetição foi o 40, seguido pelo 20 e por último o 13.
Para resolver isso, basta trocar o tipo da variável idades para uma lista, por exemplo:
permissoes = []
idades = [20, 13, 40] # alterei aqui para uma lista
def verifica_se_pode_dirigir(idades, permissoes):
for idade in idades:
if idade >= 18:
permissoes.append(True)
else:
permissoes.append(False)
verifica_se_pode_dirigir(idades, permissoes)
permissoes
No curso Python Collections parte 2: conjuntos e dicionários é explicado esse e mais alguns detalhes a respeito dessa coleção em Python.
Bons estudos.
Bruno tudo bem sim, graças a Deus!!!
Perfeito, eu alterei aqui e deu super certo.
Obrigado pela dica....
Mais um aprendizado com sucesso..rs
!