Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Listas, Laços e Booleanos

'FOR' fora da função:

permissions = []
ages = [10, 50, 30, 12, 18]

print('-=-'*10 , 'For fora da função' , '-=-'*10)
def driving_age_verification (age):
  if (age < 18):
    print(f'If you have {age} years old, you cant drive!')
  else:
    print(f'If you have {age} years old, you can drive!')

for age in ages:
  driving_age_verification(age)

'FOR' dentro da função:

permissions = []
ages = [10, 50, 30, 12, 18]
print('-=-'*10 , 'For dentro da função' , '-=-'*10)
def driving_age_verification (ages):
  for age in ages:
    if (age < 18):
      print(f'If you have {age} years old, you cant drive!')
    else:
      print(f'If you have {age} years old, you can drive!')

driving_age_verification (ages)

'Booleanos'

'Booleanos':
permissions = []
ages = [10, 50, 30, 12, 18]
def driving_age_verification (ages,permissions):
  i = 0
  for age in ages:

    if (age < 18):
      permissions.append(False)
    else:
      permissions.append(True)

    if (permissions[i] == True):
      print(f'If you have {age} years old, you can drive!')
    else:
      print(f'If you have {age} years old, you cant drive!')
    i += 1

driving_age_verification(ages,permissions)
2 respostas
solução!

Olá, tudo bom? Espero que sim!

Perfeito, as três opções funcionam muito bem e atendem a atividade proposta. O código está bem escrito e limpo.

Algumas sugestões de melhoria são evitar de utilizar espaço após o nome de funções, exemplo: def driving_age_verification (ages):, a PEP-8, manual de boa escrita do Python, sugere o nome colado aos parênteses def driving_age_verification(ages):.

Na seção de Booleanos, é possível também executar com o método enumerate(), uma função do Python que retorna a posição e o valor de cada iterável no Python. Então se aplicarmos sobre a variável ages, ele vai retornar uma lista com pares de tuplas, contendo a posição de cada idade e o valor respectivo, exemplo: [(0, 10), (1, 50), (2, 30), (3, 12), (4, 18)], e podemos usar essa funcionalidade para acessarmos a posição dos itens da variável permissions:

permissions = []
ages = [10, 50, 30, 12, 18]

def driving_age_verification(ages, permissions):

  for i, age in enumerate(ages):
    if (age < 18):
      permissions.append(False)
    else:
      permissions.append(True)

    if (permissions[i]): ## Em situações de == True, podemos sintetizar em apenas if (condition):
      print(f'If you have {age} years old, you can drive!')
    else:
      print(f'If you have {age} years old, you can\'t drive!') # Para usar aspas simples, basta usar \ antes

driving_age_verification(ages,permissions)

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

obrigado pelas dicas