Oi, Apollo! Como vai?
Gostei da forma como você organizou a solução utilizando uma lista de cédulas e um for para percorrer cada valor disponível. Também foi muito interessante incluir o tratamento de erros com try e except, além das validações para valores positivos e múltiplos de 2, tornando o programa mais robusto e amigável para quem utiliza a aplicação.
Uma dica interessante para o futuro é utilizar a função divmod(), que retorna ao mesmo tempo a quantidade de cédulas e o valor restante. Veja este exemplo:
valor = 186
quantidade, resto = divmod(valor, 50)
print(quantidade)
print(resto)
Nesse exemplo, quantidade recebe o número de cédulas de 50 e resto recebe o valor que ainda precisa ser calculado, deixando o código mais enxuto.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!