trilha-python-dio icon indicating copy to clipboard operation
trilha-python-dio copied to clipboard

desafio.py

Open DevKaylane opened this issue 7 months ago • 0 comments

menu def (): menu = """ \ne

Olá, que bom que você viu por aqui! \n
============ CARDÁPIO ============
[1] \t Depositar
[2] _t Sacar
[3] \t Extrato
[4] \t Novo usuário
[5] \t Nova conta
[6] \t Listar conta
[7] _t Sair
=> """
retornar entrada(menu)

def depositar ( saldo , valor , extrato , / ): se valor > 0: saldo += valor extrato += f"Depósito:R$ { valor :.2f } \n " print ( " \n ===Depósito realizado com sucesso!===" ) print ( f" \n Saldo: \t \t R$ { saldo :.2f } " ) outro: print("\n*** Operação falhou! O valor informado é inválido. ***")

retornar saldo, extrato      

def sacar ( * , saldo , valor , extrato , limite , numero_saques , limite_saques ): excedeu_saldo = valor > saldo excedeu_limite = valor > limite excedeu_saques = numero_saques >= limite_saques

se excedeu_saldo:
    print ( " \n Saldo insuficiente. " )

elif  excedeu_limite :
    print("O valor do saque excede o limite. ")

elif  excedeu_saques :
    print("Número máximo de saques excedidos. ")

valor elif > 0:
    saldo  -=  valor
    extrato  +=  f"Saque: R$ { valor :.2f } \n "
    numero_saques  +=  1
    print ( " \n === Saque realizado com sucesso! ===" )

outro:
    print ( " \n O valor informado é inválido. " )

    retornar saldo, extrato       


def  exibir_extrato ( saldo , / , * , extrato ):
    imprimir("\n================ EXTRATO =================")
    print ( "Não foram realizadas movimentações."  if  not  extrato  else  extrato )
    print ( f" \n Saldo: R$ { saldo :.2f } " )
    imprimir("===============================================")

def exibir_extrato ( saldo , / , * , extrato ): imprimir("\n============= EXTRATO ============") print ( "Não foram realizadas movimentações." if not extrato else extrato ) print ( f" \n Saldo: \t \t R$ { saldo :.2f } " ) imprimir("=======================================")

def criar_usuario(usuários): cpf = input ( "Informe o CPF (apenas números): " )
usuários = filtrar_usuario(cpf, usuários)

se usuários:
    print("Já existe usuário com esse cpf! ")
    retornar

nome = input("Informações do nome completo: ")
data_nascimento  =  input ( "Informar a data de nascimento (dd-mm-aaaa): " )
endereco = input("Informe o endereço(logradouro,número - bairro - cidade/símbolo do estado): ")

usuarios.append({"nome": nome, "data_nascimento": data_nascimento, "cpf": cpf, "endereco": endereco})

print ( "Usuário criado com sucesso! " )

def filtrar_usuario(cpf, usuários): usuarios_filtrados = [usuario para usuario em usuarios se usuario["cpf"] == cpf] retornar usuarios_filtrados[0] se usuarios_filtrados senão Nenhum

def criar_conta ( agência , numero_conta , usuários ): cpf = input ( "Informe o cpf do usuário: " ) usuário = filtrar_usuario(cpf, usuários) se usuários: print ( " \n === Conta criada com sucesso ===" ) return{"agência": agência, "numero_conta": numero_conta, "usuário": usuario}

print("**** Usuário não encotrado. ")

def listar_contas ( contas ): para conta em contas: linha = f"""
Agência:\t{conta['agência']} C/C: \t \t { conta [ 'numero_conta' ] } Titular:\t{conta['usuário']['nome']} """ imprimir("=" * 100) imprimir(linha)

def principal(): LIMITE_SAQUES = 3 AGÊNCIA = "0001"

saldo  =  0
limite  =  500
extrato  =  ""
numero_saques  =  0
usuários = []
contas  = []

enquanto Verdadeiro:
    opção = menu()

    se opção == "1":
       valor = float(input("Informar o valor do depósito: "))

       saldo , extrato  =  depositar ( saldo , valor , extrato )

    elif  opcao  ==  "2" :
        valor = float(input("Informações sobre o valor do saque: "))

        saldo , extrato  =  sacar (
            saldo = saldo ,
            valor = valor ,
            extrato = extrato ,
            limite = limite ,
            numero_saques = numero_saques ,
            limite_saques = LIMITE_SAQUES ,
        )

    elif  opcao  ==  "3" :
        exibir_extrato ( saldo , extrato = extrato )

    elif  opcao  ==  "4" :
        criar_usuario("usuários")

    elif  opcao  ==  "5" :
        numero_conta  =  len ( conta ) +  1
        conta = criar_conta(AGÊNCIA, numero_conta, usuarios)

        se conta:
         contas . append ( conta )

    elif  opcao  ==  "6" :
        listar_contas ( contas )

    elif  opcao  ==  "7" :
        print ( "OBRIGADO POR SER NOSSO CLIENTE, TENHA UM BOM DIA." )
        quebrar

    outro:
        print("Operação inválida, por favor selecione a operação desejada. ")

principal()

DevKaylane avatar Jul 14 '24 19:07 DevKaylane