Olá, Aquila, como vai?
O seu código seguiu a lógica necessária para o controle de gastos e o uso das condicionais está correto. Notei apenas um detalhe técnico sobre a representação de números decimais no Python. A linguagem utiliza o padrão americano, onde o ponto serve para separar as casas decimais e não para indicar milhares. Ao escrever 3.000, o interpretador entende o valor como 3 apenas. Para representar três mil, você deve escrever 3000 ou 3000.0. Além disso, no cálculo da diferença dentro do bloco else, o resultado será um número negativo porque o valor de gastos é maior que o limite, então inverter a ordem da subtração faria o valor aparecer como positivo na mensagem.
Parabéns pelo desenvolvimento do exercício e por praticar a lógica de programação com casos do cotidiano. Continue compartilhando seus projetos e evoluindo nos estudos.
O fórum está à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!