阅读背景:

python面向对象ATM,不用数据库版本

来源:互联网 
!-- flowchart 箭头图标 勿删 --
import time
import random

class Users():

    #注册开户,输入根本信息
    def zhuce(self):
        name = input("请输入你的名字:")
        phone = int(input("电话:"))
        idcard = int(input("身份证号码:"))
        #调用Card的静态办法随机生成卡号
        iccard = int(Card.randomcard())
        # 调用Card的静态办法输入密码
        psw = Card.s_psd()
        mon = int(input("请输入你的钱:"))
        print("你的卡号为%d  密码:%d  金额:%d"%(iccard,psw,mon))
        #将相对应的信息存储到字典里
        dict_m ={iccard:mon}
        dict_c = {iccard:psw}
        dict_n = {name: [phone,idcard,psw]}
        Atm.dict1.update(dict_c)
        Atm.dict2.update(dict_n)
        Atm.dict3.update(dict_m)
        print(Atm.dict2)


class Card():

    @staticmethod
    def randomcard():
        iccard_s = random.choices(["1","2","3","4","5","6","7","8","9"],k=6)
        iccard = "".join(iccard_s)
        return iccard

    @staticmethod
    def s_psd():
        s = int(input("请输入你的密码:") )
        return s


class Atm():
    #存卡和密码
    dict1 = {}
    #信息
    dict2 = {}
    #卡和钱
    dict3 = {}

    #初始化选择功效
    def select(self):
        print("""
           **********************
           *                    *
           *  welcome to bank   *
           *                    *
           **********************
           """)
        time.sleep(1)
        print("""
           **********************
           *  1.登陆   2.开户    *
           *  3.查询   4.取款    *
           *  5.存款   0.退出    *
           *  6.转账   7.改密    *
           **********************
           """)
        num = int(input("请选择服务项目:"))
        return num

    #开户的功效
    def openc(self):
        #创立一个用户
        a = Users()
        #用户调用成员办法在User类中
        a.zhuce()

    def login(self):
        while True:
            num = self.select()
            if  num == 1:
                card = int(input("请输入你的卡号:"))
                psw = int(input("请输入你的密码:"))
                print(Atm.dict1)
                #断定是不是存在字典里,不存在则登录不了,登录不了没法进行其他操作
                if card in Atm.dict1:
                    if Atm.dict1.get(card) == psw:
                        print("登录胜利")
                        #对功效进行重复
                        while True:
                            num =self.select()
                            if num==1 or num ==2:
                                print("您已登录")

                            elif num == 3:
                                #查询字典的值
                                cnum = Atm.dict3.get(card)
                                print("查询胜利",cnum)

                            elif num == 4:
                                print("取款")
                                qnum = int(input("请输入你要取款的金额:"))
                                Atm.dict3[card] -=qnum
                                print("您现在的余额为:",Atm.dict3[card])
                                print(Atm.dict3)

                            elif num == 5:
                                print("存款")
                                qnum = int(input("请输入你要存款的金额:"))
                                Atm.dict3[card] += qnum
                                print("您现在的余额为:", Atm.dict3[card])
                                print(Atm.dict3)

                            #必须要有两个账号,不然没法转账
                            elif num == 6:
                                zhanghao = int(input("请输入要转账的号码:"))
                                znum = int(input("请输入要转账的金额:"))
                                Atm.dict3[card]-=znum
                                Atm.dict3[zhanghao] +=znum
                                print(Atm.dict3)
                                print("转账胜利")

                            elif num == 7:
                                print("更改密码")
                                m = int(input("请输入新密码:"))
                                Atm.dict1[card]=m
                                print("密码更改胜利")
                                print(Atm.dict1)
                                
                            elif num == 0:
                                print("退出体系")
                                return
                    else:
                        print("卡号或密码毛病")
                else:
                    print("卡号不存在,请注册")
            elif num == 2:
                self.openc()
            elif num == 0:
                print("退出体系")
                return
            else:
                print("负疚你没有登录,请登录")


if __name__ == "__main__":
    #创立一个Atm机子
    r = Atm()
    #开端登录
    r.login()
impor



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: