用python写atm自动取款_使用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次都输错,今日内你已无法登录,卡已吞,请联系工作人员!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值