使用python编写一个简易ATM机程序

#介绍如下
# 功能函数有:登录,取款,存款,查询余额
# :1,密码超过3次没有输对程序死掉,取款失败,
#   2,密码输入正确后,显示银行卡里的可用余额,输入取款金额
#      3, (金额至少是100起步,且只能是整百的取,一次取款金额不能超过1万元),
#      4,钱取了之后要自动计算出银行卡里的剩余金额。
#     5,密码初始化自己定义,可用余额自己定义
#     6,存钱金额至少是100起步,且只能是整百的存,一次存款金额不能超过1万元
#  7,用户存款的时候可以选择继续加钞
password = "000000" # 密码
balance = 9200.62 # 余额

menu1 = """
        * * * * * * * * * * * * * * * * 
        -欢-迎-来-到-中-国-人-民-银-行-       
        """

menu2 = """
        * * * * * * * * * * * * * * * * 
        功能如下:
                1.查询余额
                2.取款
                3.存款
                4.退卡
         * * * * * * * * * * * * * * * * 
        """
# 编写一个登录的功能函数
def login(pass_word):
    """
    这是一个登录的功能,返回的结果是bool类型
    :param pass_word:
    :return:
    """
    i = 1
    isSuccess = False#定义一个bool类型的变量,充当函数的返回值,默认是登录失败
    while i <= 3:
        if pass_word == password:
            isSuccess = True
            break
        elif i == 3:
            break
        else:
            pass_word = input("密码输入错误,请重新输入(还剩%d次机会):" % (3-i))
            i += 1
    return isSuccess

# 编写一个查询余额的功能函数
def queryBalance():
    """这是一个查询余额的功能"""
    return balance

#编写一个取款的功能函数
def outMoney(money):
    """这是一个取款的功能"""
    global balance
    while True:
        if money % 100 == 0 and money > 0  and money <= 10000 and money < balance:
            break
        elif money > balance:
            money = float(input("余额不足!请重新输入取款金额:"))
        else:
            money = float(input("取款金额必须小于1万元,并且只能整百的取:"))

    balance -= money
    return money

#编写一个存款的功能函数
def inMoney(money):
    """这是一个存款的功能"""
    global balance
    add_money = 0
    while True:
        if money % 100 == 0 and money > 0  and money <= 10000:
            isAdd = input("您需要继续加钞吗?(y/n)")
            if isAdd == "y":
                add_money = float(input("请输入存款金额:"))
                while True:
                    if money % 100 == 0 and money > 0 and ((money+add_money) <= 10000):
                        break
                    else:
                        add_money = float(input("存款金额必须小于1万元,并且只能整百的存:"))
            else:
                break
            break
        else:
            money = float(input("存款金额必须小于1万元,并且只能整百的存:"))

    balance += money+add_money
    return money+add_money


print(menu1)
p = input("请输入您的密码:")
result = login(p)
if result == True:
    print("恭喜你,登录成功!")
    while True:
        print(menu2)
        function = input("请选择你的操作(输入对应的数字):")#function表示用户选择的功能
        if function == "1":
            print("您的可用余额为:%.2f" % queryBalance())
        elif function == "2":
            m = float(input("请输入您的取款金额:"))
            print("您本次的取款金额为", outMoney(m))
            print("剩余金额为:%.2f" % queryBalance())
        elif function == "3":
            m = float(input("请输入您的存款金额:"))
            print("您本次的存款金额为", inMoney(m))
            print("剩余金额为:%.2f" % queryBalance())
        elif function == "4":
            print("谢谢你的使用,请取卡")
            break
        else:
            print("暂时没有这个功能,敬请期待!")
else:
    print("3次都输错,今日内你已无法登录,卡已吞,请联系工作人员!")

你可能感兴趣的:(python)