• Matéria: Informática
  • Autor: Jubileumerceu
  • Perguntado 2 anos atrás

Crie em PYTHON um programa que simule um caixa eletrônico. O que precisa implementar:

Depósito
Saque
Pagamento de conta
Listagem de movimentações (extrato)


EM PYHON

Respostas

respondido por: catarinalimx
1

Resposta:

import random

print('\nOlá, bem-vindo ao Caixa Eletrônico 24 horas.\n')

# Introdução ao MENU.

def menu():

# Variaveis.

 balance = 4000

 withdraw = 5

 account_data = 0

 opcao = 0

 while opcao != 5:

   print('Escolha a opção: ')

   print('1 - Extrato')

   print('2 - Saque')

   print('3 - Depósito')

   print('4 - Pagamento de conta')

   print('5 - Fechar/Sair')

   opcao = int(input('Opção: '))

   if (opcao == 1):

       account_number = random.randint(1000,9999) # Gerar números aleatórios entre 1000 e 9999

       print('Número da conta:', account_number)

       print('Saldo: R${:.2f}'.format(balance))

       print('Saques disponíveis:', withdraw)

   elif (opcao == 2):

       withdraw_ok = int(input('Digite o valor que você deseja sacar: '))

       if withdraw_ok <= balance:

           balance = balance - withdraw_ok # Calculo pra somar o valor da variavel depois de realizar o saque.

           print('Você sacou R${:.2f} da sua conta.'.format(withdraw_ok))

           print('Agora você tem R${:.2f} disponível em conta.'.format(balance))

           withdraw = withdraw -1 # Calculo pra saber quantos saques podem ser realizados.

           print('Você só pode realizar mais {} saques da sua conta.'.format(withdraw))

       else:

           print('Você não tem esse valor disponível na conta!')

   elif (opcao == 3):

       deposito = int(input('Digite o valor que você deseja depositar: '))

       balance = deposito + balance # Calculo para depositar dinheiro na sua conta bancária.

       print('Você depositou R${:.2f} na sua conta com sucesso e ficou com R${:.2f} disponível na conta!'.format(deposito, balance))

   elif (opcao == 4):

       pagar_conta = int(input('Digite o valor a pagar: '))

       if pagar_conta <= balance:

         balance = balance - pagar_conta # Calculo para cobrar de sua conta bancária.

         print('Conta paga com sucesso! Ficou R${:.2f} disponível na sua conta!'.format(balance))

       else:

         print('Valor indisponivel na conta.') # Aviso para caso não tenha dinheiro disponivel na sua conta.

   elif (opcao == 5):

       print('Volte sempre.')

   else:

       print('Opção inválida!')

menu()

Explicação:

Coloquei alguns comentários no código pra não ficar confuso.

respondido por: DaiaraDyba
1

Uma solução seria criar uma classe em Python chamada "CaixaEletronico" que possuísse quatro métodos: "deposito", "saque", "pagamento_de_conta" e "extrato".

Como ficaria a classe CaixaEletronico em Python?

Uma implementação possível seria:

class CaixaEletronico:

   def __init__(self):

       self.saldo = 0

       self.movimentacoes = []

   def deposito(self, valor):

       self.saldo += valor

       self.movimentacoes.append(f'Depósito de R$ {valor:.2f}')

   def saque(self, valor):

       if valor > self.saldo:

           print('Saldo insuficiente')

       else:

           self.saldo -= valor

           self.movimentacoes.append(f'Saque de R$ {valor:.2f}')

   def pagamento_de_conta(self, valor, descricao):

       if valor > self.saldo:

           print('Saldo insuficiente')

       else:

           self.saldo -= valor

           self.movimentacoes.append(f'Pagamento de conta: {descricao} no valor de R$ {valor:.2f}')

   def extrato(self):

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

       for movimentacao in self.movimentacoes:

           print(movimentacao)

Um exemplo de uso dessa classe seria:

caixa = CaixaEletronico()

caixa.deposito(100)

caixa.saque(50)

caixa.pagamento_de_conta(25, "Conta de Luz")

caixa.extrato()

Como funciona o código?

O método "init" é um construtor e é chamado quando uma nova instância da classe é criada.

Nele são inicializadas as variáveis:

  • Saldo -> valor 0
  • Movimentações -> lista vazia.

O método "deposito":

  • Recebe como parâmetro o valor de um depósito.
  • Adiciona este valor ao saldo.
  • Adiciona a mensagem "Depósito de R$ valor" na lista de movimentações.

O método "saque":

  • Recebe como parâmetro o valor do saque.
  • Verifica se o valor é maior do que o saldo disponível.
  • Se for, é exibida a mensagem "Saldo insuficiente".
  • Se não for, é efetuado o saque, e é adicionada a mensagem "Saque de R$ valor" na lista de movimentações.

O método "pagamento_de_conta":

  • Recebe como parâmetros o valor do pagamento e uma descrição da conta.
  • Verifica se o valor é maior do que o saldo disponível.
  • Se for, é exibida a mensagem "Saldo insuficiente".
  • Caso contrário, é efetuado o pagamento, e é adicionada a mensagem "Pagamento de conta: descrição no valor de R$ valor" na lista de movimentações.

Por fim, o método "extrato" exibe o saldo atual e as movimentações registradas.

Aprenda mais sobre Python em:

https://brainly.com.br/tarefa/52810204

#SPJ2

Anexos:
Perguntas similares