函数的概念就不用过多叙述了,使用函数的目的是为了更高效快速的开发程序等等
函数的定义格式,这里我分为两种:
def hellworld():
print("hello world")
def add(x,y):
sum=x+y
return sum
注意:
(1)函数可以有多个范围值,但是只要执行到一个return语句,那么就意味着这个函数的调用完成
(2)一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
定义就随便说一点,现在开始本章的主题--利用函数开发一个简单ATM需求:
需求如下图:对于初学者来说,看起来有点麻烦,甚至无从下手。不过不用担心,经我一一分析,就很简单了。
(1)定义两个全局变量:money 和 name ,前者用来表余额,后者用来表示姓名,姓名通过键盘输入
money = 50000
name=input()
(2)定义 4 个 函数 :check_balance() -- 查询余额;deposit() -- 存款;withdraw_money() -- 取款;withdraw() -- 退出
def check_balance():
print("---------------查询余额---------------")
print(f"{name},您好,您的余额剩余:{money}元")
def deposit():
global money
print("---------------存款---------------")
dep_money = int(input("请输入您需要的存款数:"))
money += dep_money
print("---------------存款---------------")
print(f"{name},您好,您存款:{dep_money}元成功")
print(f"{name},您好,您的余额剩余:{money}元")
def withdraw_money(): # 取款
global money
print("---------------取款---------------")
take_money = int(input("请输入您需要的存款数:"))
if take_money <= money:
money -= take_money
print("---------------取款---------------")
print(f"{name},您好,您取款:{take_money}元成功")
print(f"{name},您好,您的余额剩余:{money}元")
else:
print("---------------取款---------------")
print(f"{name},您好,您的余额不足,无法取款")
def withdraw(): # 退出
print("---------------退出---------------")
print(f"{name},您好,您已安全退出银行系统")
(3)定义一个变量 num ,用来选择执行哪个功能函数,从键盘获取数据
num = int(input()) # 选择那个函数执行
if num == 1:
check_balance()
elif num == 2:
deposit()
elif num == 3:
withdraw_money()
elif num == 4:
withdraw()
(4)利用 while 语句 和 True、False 来判断整个循环是否执行
while flag:
...
...
...
if num == 4:
...
flag=False
这样,整个思路就清晰了,现在开始写主题代码
money = 50000 # 定义一个全局变量
flag = True # 控制程序流程,为True继续执行,False则退出循环
print("---------------登录界面---------------")
name = input("请输入你的名字:")
print("---------------主菜单---------------")
print(f"{name},您好,欢迎来到黑马银行ATM,请选择操作:")
print("查询余额 [输入1]\t")
print("存款 [输入2]\t")
print("取款 [输入3]\t")
print("退出 [输入4]\t")
while flag: # 进入循环
num = int(input()) # 选择那个函数执行
if num == 4:
def withdraw(): # 退出
print("---------------退出---------------")
print(f"{name},您好,您已安全退出银行系统")
withdraw()
flag = False
elif num == 1: # 查询余额
def check_balance():
print("---------------查询余额---------------")
print(f"{name},您好,您的余额剩余:{money}元")
check_balance()
print("请选择操作:")
print("查询余额 [输入1]\t")
print("存款 [输入2]\t")
print("取款 [输入3]\t")
print("退出 [输入4]\t")
elif num == 2: # 存款
def deposit():
global money
print("---------------存款---------------")
dep_money = int(input("请输入您需要的存款数:"))
money += dep_money
print("---------------存款---------------")
print(f"{name},您好,您存款:{dep_money}元成功")
print(f"{name},您好,您的余额剩余:{money}元")
deposit()
print("请选择操作:")
print("查询余额 [输入1]\t")
print("存款 [输入2]\t")
print("取款 [输入3]\t")
print("退出 [输入4]\t")
elif num == 3:
def withdraw_money(): # 取款
global money
print("---------------取款---------------")
take_money = int(input("请输入您需要的存款数:"))
if take_money <= money:
money -= take_money
print("---------------取款---------------")
print(f"{name},您好,您取款:{take_money}元成功")
print(f"{name},您好,您的余额剩余:{money}元")
# 这里加了一个 if 判断,如何取款金额大于余额,则不执行上面的操作
else:
print("---------------取款---------------")
print(f"{name},您好,您的余额不足,无法取款")
withdraw_money()
print("请选择操作:")
print("查询余额 [输入1]\t")
print("存款 [输入2]\t")
print("取款 [输入3]\t")
print("退出 [输入4]\t")
代码就是以上这些,经过测试,无bug