Alterando tipos mistos

Crie uma função que altere todos os elementos de uma lista da seguinte forma:

  • Adicione 1 a todos os inteiros pares e nada aos inteiros ímpares.
  • Concatene "!" a todas as strings e torne maiúscula a primeira letra da palavra.
  • Altere todos os valores boolean para o seu oposto.

Exemplos

change_types(["a", 12, True]) ➞ ["A!", 13, False]

change_types([13, "13", "12", "twelve"]) ➞ [13, "13!", "12!", "Twelve!"]

change_types([False, "False", "true"]) ➞ [True, "False!", "True!"]

Notas

  • Não haverá valores float.
  • Você não receberá strings que contenham números e letras ao mesmo tempo.
  • Embora a tarefa possa ser fácil, tente manter o seu código o mais limpo e legível possível!