image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Luis Ramos
Luis Ramos27/08/2024 22:49
Compartilhe

1° Desafio: Sistema Bancário Python - NTT DATA

  • #Python

Introdução

Esse é o 1° desafio de projeto do NTT DATA - Engenharia de Dados com Python. Quero compartilhar o código com vocês e um pouco do meu raciocínio também, espero que ajude quem estiver com dificuldades.

Objetivo do Projeto

O objetivo deste projeto é criar um sistema bancário que permita ao usuário realizar três operações principais: depósito, saque e consulta de extrato.

git: https://github.com/dataramus/sistema-banco-python

Estrutura do Código

1. Menu de Operações

A interface do sistema começa com um menu simples que permite ao usuário escolher entre as operações disponíveis: depósito, saque, extrato e saída. Este menu é essencial para guiar o usuário e garantir que o sistema receba inputs válidos.

```

menu = """

Digite:

[d] para Depositar

[s] para Sacar

[e] para Extrato

[q] para sair

"""

```

2. Parâmetros Iniciais

Antes de iniciar o loop principal do programa, definimos alguns parâmetros iniciais que controlam o estado do sistema:

```

saldo = 0

limite = 500

extrato = ""

num_saque = 0

lim_saque = 3

```

  • saldo: Armazena o saldo atual da conta.
  • limite: Define o valor máximo que pode ser sacado em uma única operação.
  • extrato: Registra o histórico de transações.
  • num_saque: Contador de saques realizados no dia.
  • lim_saque: Limite diário de saques permitidos.

Esses parâmetros garantem que o sistema possa monitorar e restringir operações conforme necessário, mantendo a segurança e a integridade dos dados.

3. Controle de Fluxo: Loop Principal

O loop principal é onde a mágica acontece. Ele continua rodando até que o usuário escolha sair do sistema:

```python

while True:

  seleciona = input(menu)

```

Dentro desse loop, o programa verifica qual operação o usuário selecionou e chama a função correspondente.

4. Operação de Depósito

A operação de depósito permite que o usuário adicione fundos à sua conta, atualizando o saldo e registrando a transação no extrato:

```python

if seleciona == "d":

  valor = float(input("Valor a ser depositado: "))

  if valor > 0:

    saldo += valor

    extrato += f"Depósito: R$ {valor: .2f}\n"

  else:

    print("Valor inválido.")

```

Aqui, garantimos que apenas valores positivos sejam aceitos. Caso contrário, uma mensagem de erro é exibida.

5. Operação de Saque

A operação de saque é um pouco mais complexa, pois envolve várias verificações de segurança:

```

elif seleciona == "s":

  valor = float(input("Digite o valor a ser sacado: "))

  sem_saldo = valor > saldo

  sem_limite = valor > limite

  sem_saque = num_saque >= lim_saque

  if 0 < valor <= saldo and valor <= limite and num_saque < lim_saque:

    saldo -= valor

    extrato += f"Saque: R$ {valor: .2f}\n"

    num_saque += 1

  elif sem_saldo:

    print("Saldo Insuficiente.")

  elif sem_limite:

    print("Valor de Saque Excedido.")

  elif sem_saque:

    print("Limite de Saques Excedido.")

  else:

    print("Valor Inválido")

```

Antes de permitir o saque, o sistema verifica:

- Se o saldo é suficiente.

- Se o valor solicitado está dentro do limite permitido.

- Se o usuário não ultrapassou o número máximo de saques permitidos.

Essas verificações evitam problemas como saldo negativo ou saques excessivos.

6. Consulta de Extrato

A consulta de extrato permite que o usuário veja todas as transações realizadas e o saldo atual:

```python

elif seleciona == "e":

  print(f"Saldo: R$ {saldo: .2f}")

  print("Extrato:")

  print(extrato if extrato else "Nenhuma transação realizada.")

```

Esta função garante que o usuário tenha uma visão clara do estado de sua conta, promovendo transparência e confiança no sistema.

7. Saída do Sistema

Finalmente, o sistema permite que o usuário saia a qualquer momento:

```python

elif seleciona == "q":

  break

```

Essa simplicidade garante que o usuário tenha controle total sobre quando finalizar suas operações.

Análise e Considerações Finais

Este sistema bancário básico é um excelente exemplo de como conceitos fundamentais de programação, como controle de fluxo, condições e manipulação de strings, podem ser utilizados para criar aplicações práticas. A implementação de limites de segurança, como o número máximo de saques e limites de valor, demonstra uma compreensão das necessidades de segurança em sistemas financeiros.

Conclusão

Este projeto não só serve como uma introdução à programação em Python, mas também demonstra habilidades importantes como lógica de negócios, controle de fluxo e manipulação de dados.

Compartilhe
Comentários (3)
Hallynny Barros
Hallynny Barros - 28/08/2024 12:50

Parabéns!

Ronaldo Schmidt
Ronaldo Schmidt - 28/08/2024 12:36

Olá amigo.

Obrigado por compartilhar.

Bons estudos.

Aclelino Florentino
Aclelino Florentino - 28/08/2024 06:18

Muito Bom 👏🏾