Python使用函数封装简易ATM(V1.0)

这篇文章是一个简单的存取款账户实现,包括了账户的创建、存款、取款、查询余额和注销功能。

账户类通过definit()方法初始化一个空的用户列表,然后通过addaccount()方法创建账户,如果用户列表为空,则提示先添加账户。deposit()方法用于存款,程序会遍历用户列表,将所有用户的余额相加,然后更新用户的余额。withdrawal()方法用于取款,程序会遍历用户列表,将所有用户的余额相减,然后更新用户的余额。check()方法用于查询余额,程序会遍历用户列表,输出每个用户的余额。logout()方法用于注销账号,程序会提示用户输入注销编号,如果输入正确则将用户列表清空,注销成功。菜单栏通过循环输出菜单选项,根据用户输入的菜单编号调用相应的方法。最后通过实例化对象调用menu()方法开始菜单栏循环。

#定义账户类
class account():
    def __init__(self):
        self.user_list=[]
    
    #创建账户
    def add_account(self):
        if self.user_list==[]:
            user=input('【创建账户】请输入账户名:')
            password=input('【创建账户】请输入密码:')
            self.user_list.append({'user':user,'password':password,'balance':0})
            print('【创建账户】账户添加成功')
            print(self.user_list)
        else:
            print(f'【创建账户】已有账户,如有需要请先注销')
    def deposit(self):
        if self.user_list:
            deposit_money=input(f'【存款】请输入存款金额')
            for i in self.user_list:
                i['balance'] +=int(deposit_money)
                print(f'【存款】您的存款金额是:{deposit_money},总余额:',i['balance'])
                print(f'【存款】存款成功')
        else:
            print(f'【存款】无账户,请先添加')
            return self.add_account()
    
    #取款
    def withdrawal(self):
        if self.user_list:
            withdrawal_money=input(f'【取款】请输入取款金额:')
            for i in self.user_list:
                i['balance'] -=int(withdrawal_money)
                print(f'【取款】您的取款金额是:{withdrawal_money},剩余余额:',i['balance'])
                print(f'【取款】取款成功')
        else:
            print(f'【取款】无账户,请先添加')
            return self.add_account()

    #查询余额
    def check(self):
        if self.user_list:
            for i in self.user_list:
                print(f'【查询余额】您的账户余额是:',i['balance'])
        else:
            print('【查询余额】无账户,请先添加账号')
            return self.add_account()
        
    #注销账号
    def logout(self):
        if self.user_list:
            logout_num=int(input(f'【注销账号】是否确认注销账号?\n1-是\t\t2-否\n'))
            if logout_num==1:
                self.user_list=[]
                print(f'【注销账户】账号注销成功')
            elif logout_num==2:
                print(f'【注销账户】已取消注销账号')
            else:
                print(f'【注销账户】输入有误,请检查')

    #菜单栏
    def menu(self):
        while True:
            print(f'********************  欢迎您  ********************')
            print(f'1-创建账户\t2-存款\t3-取款\t4-查询余额\t5-注销账户')
            menu_num=int(input('请输入菜单号:'))
            if menu_num==1:
                print(f'******************** 创建账户 ********************')
                self.add_account()
            elif menu_num==2:
                print(f'********************  存款  *********************')
                self.deposit()
            elif menu_num==3:
                print(f'********************  取款  *********************')
                self.withdrawal()
            elif menu_num==4:
                print(f'******************** 查询余额 ********************')
                self.check()
            elif menu_num==5:
                print(f'******************** 注销账户 ********************')
                self.logout()
            else:
                print(f'菜单号输入有误')

#调用函数
users=account() #实例化对象
users.menu()

你可能感兴趣的:(python)