python练习之ATM程序:

                    ATM程序
            ATM柜员机管理系统
实现功能:
    1. 当用户在登陆界面输入卡号和密码能登陆;
    2. 实现开户功能;
    3. 与机器交互实现取款, 存款, 转账, 查询余额,
       冻结账户, 修改密码等功能;

userinfo = {
    "001":{
        "cardid":"001",
        "password":"123",
        "status": 0,
        "money": 10000,
    }

}

具体思路解法如下:

userinfo = {
    "001":{
        "cardid":"001",
        "password":"123",
        "status": 0,
        "money": 10000,
    }
}

while True :
    choice = input("""请输入你要进行的选择:
    1).开户;          
    2).登录;
    3).退出;
    请输入你的选择:""")

    if choice == '1' :
        for id in range(100) :
            if id not in userinfo :
                s = "%.3d" %id
                print("你好,你的卡号为%s" %s)
                for pw in range(3) :
                    passwd = input("请输入你的密码:")
                    passwd1 = input("请再次输入你的密码:")
                    if passwd == passwd1 :
                        userinfo[s] = {
                                "cardid": s,
                                "password": passwd,
                                "status": 0,
                                "money": 0,
                        }
                        print("开户成功!")
                        break
                    else :
                        if pw < 2 :
                            print ("两次密码输入不一致,请重新输入!")
                        elif pw == 2 :
                            print ("尝试次数过多,请下次运行!")
            break

    elif choice == '2' :
        for in_id in range(3) :
            id_in = input("请输入你的卡号:")
            if id_in in userinfo:
                for i in range(3):
                    passwd_in = input("请输入你的密码:")
                    if passwd_in == userinfo[id_in]['password']:
                        if userinfo[id_in]['status'] == 1:
                            print("该用户已被冻结,请找工作人员解冻!")
                            exit(0)
                        else :
                            print("登陆成功!")
                            break
                    else:
                        if i < 2:
                            print("密码输入错误,请重新输入!")
                        elif i == 2:
                            print("尝试密码超过三次,请下次登录!")
                            exit(0)

            else:
                if in_id < 2 :
                    print("卡号不存在,请重新输入!")
                elif in_id == 2 :
                    print ("尝试次数超过三次,系统退出!")
                    exit(0)
            break

        while True :
            choices = input("""请输入你要进行的选择:
            1).取款;          2).存款;          3).转账;          
            4).查询余额;      5).冻结账户;      6).修改密码
            7).退出;
            请输入你的选择:""")
            if choices == '1' :
                while True :
                    money_out = int(input("请输入你要取款的金额:"))
                    if money_out > userinfo[id_in]['money'] :
                        print ("余额不够,请重新输入!")
                    else :
                        print ("你好,一共取款%s元" %(money_out))
                        userinfo[id_in]['money'] -= money_out
                        break
            elif choices == '2' :
                money_in = int(input("请输入你要存款的金额:"))
                userinfo[id_in]['money'] += money_in
                print ("存款成功!")
            elif choices == '3' :
                for z in range(3) :
                    user_trans = input("请输入你要转账的用户:")
                    if user_trans in userinfo :
                        money_trans = int(input("请输入你要转账的金额:"))
                        userinfo[id_in]['money'] -= money_trans
                        userinfo[user_trans]['money'] += money_trans
                        print ("转账成功!")
                        break
                    else :
                        if z < 2 :
                            print("该用户不存在,请重新输入!")
                        if z == 2 :
                            print ("转账失败!")
            elif choices == '4' :
                print ("你的余额为%s" %(userinfo[id_in]['money']))
            elif choices == '5' :
                userinfo[id_in]['status'] = 1
                print("冻结用户成功!")
            elif choices == '6' :
                passwd_trans = input("请输入你要修改的密码:")
                passwd_trans1 = input("请再次输入你要修改的密码:")
                for t in range(3) :
                    if passwd_trans == passwd_trans1 :
                        userinfo[id_in]['password'] = passwd_trans1
                        print ("密码修改成功!")
                        break
                    else :
                        if t < 2 :
                            print ("两次密码输入不一致,请重新输入!")
                        if t == 2 :
                            print ("密码修改失败!")
            elif choices == '7' :
                break
            else :
                print ("输入有误,请重新输入!")

    elif choice == '3' :
        exit(0)

实现结果如下图所示:





我们切换至转账客户,看是否转账成功:




--end


猜你喜欢

转载自blog.csdn.net/qq_41891803/article/details/80197460
今日推荐