python day4

第一阶段

第五章 函数

5.1 简介

组织好的,可重复使用,有特定功能的封装起来的

str1 = "itheima"
def my_len(data):
    count = 0
    for i in data:
        count += 1
    print(count)

my_len(str1)

5.2 定义

5.3 传入参数

5.4 函数返回值

 

def add1(x ,y):
    result = x + y
    print(result)
add1("dog ","cat")

 5.5 None

<class"Nonetype>

def say_hi():
    print("hello")
  return None #可以不要 result
= say_hi() print(f"内容{result}") print(f"内容类型{type(result)}")

None == false

def check_age(age):
    if age >18:
        return "yes"
    else:
        return None

result = check_age(7)
if not result:
    print("未成年")

 

5.6 说明文档 注释

在函数定义下一行 输入”“” 回车,自动出说明内容,鼠标悬停在调用的函数名上时显示注释内容

def check_age(age):
    """
    :param age: 参数age表示是年龄
    :return: 返回值返回判断结果
    """
    if age >18:
        return "yes"
    else:
        return None

 5.7 函数嵌套调用

 

def func2():
    print("2")

def func1():
    print("1")
    func2()
    print("3")

func1()

 

 5.8 函数作用域

局部变量:只在函数体内部有效,函数体执行完之后销毁

全局变量:

global:在局部中(函数体)中使用,是声明了一个全局变量,与外部定义的为全局变量同名时,函数体内对它做出的改变是有效的,能被带出来的。

 1 num = 100
 2 def fun_1():
 3     num = 200
 4     print(num)
 5 
 6 fun_1()
 7 print(num)
 8 
 9 def fun_2():
10     global num
11     num = 500
12     print(num)
13 
14 fun_2()
15 print(num)

 5.9 综合案例

程序会推出 否则一直执行

 1 name = input("请输入姓名")
 2 money = 5000000
 3 
 4 def func1():
 5     print("----------查询余额query----------")
 6     print(f"{name}您好,您的余额为{money}元")
 7     return True
 8 
 9 def func2():
10     print("----------存款saving----------")
11     global money
12     x = int(input("请输入要存入的金额"))
13     money += x
14     print(f"{name}您好,{x}元存款成功\n您的余额为{money}元")
15     return True
16 
17 def func3():
18     print("----------取款 ----------")
19     global money
20     x = int(input("请输入要取出的金额"))
21     if x < money:
22         money -= x
23         print(f"{name}您好,{x}元取出成功\n您的余额为{money}元")
24         return True
25     else:
26         print(f"{name}您好,您的余额为{money}元,余额不足,退出程序")
27         return False
28 
29 def func4():
30     print("退出程序")
31     return False
32 
33 flag = True
34 while flag == True:
35     print(f"{name}欢迎来到ATM,请输入您的操作")
36     print("查询余额 【1】")
37     print("存款 【2】")
38     print("取款 【3】")
39     print("退出 【4】")
40     x = int(input("请输入您的选择"))
41     if x == 1:
42         flag = func1()
43     if x ==2:
44         flag = func2()
45     if x == 3:
46         flag = func3()
47     if x == 4:
48         flag = func4()

老师版本

函数参数作为是否执行的条件

在while中 用continue和break作为退出循环的依据

 1 """
 2 演示函数综合案例开发
 3 """
 4 
 5 # 定义全局变量money name
 6 money = 5000000
 7 name = None
 8 # 要求客户输入姓名
 9 name = input("请输入您的姓名:")
10 # 定义查询函数
11 def query(show_header):
12     if show_header:
13         print("-------------查询余额------------")
14     print(f"{name},您好,您的余额剩余:{money}元")
15 
16 
17 # 定义存款函数
18 def saving(num):
19     global money    # money在函数内部定义为全局变量
20     money += num
21     print("-------------存款------------")
22     print(f"{name},您好,您存款{num}元成功。")
23 
24     # 调用query函数查询余额
25     query(False)
26 
27 # 定义取款函数
28 def get_money(num):
29     global money
30     money -= num
31     print("-------------取款------------")
32     print(f"{name},您好,您取款{num}元成功。")
33 
34     # 调用query函数查询余额
35     query(False)
36 # 定义主菜单函数
37 def main():
38     print("-------------主菜单------------")
39     print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:")
40     print("查询余额\t[输入1]")
41     print("存款\t\t[输入2]")
42     print("取款\t\t[输入3]")    # 通过\t制表符对齐输出
43     print("退出\t\t[输入4]")
44     return input("请输入您的选择:")
45 
46 # 设置无限循环,确保程序不退出
47 while True:
48     keyboard_input = main()
49     if keyboard_input == "1":
50         query(True)
51         continue    # 通过continue继续下一次循环,一进来就是回到了主菜单
52     elif keyboard_input == "2":
53         num = int(input("您想要存多少钱?请输入:"))
54         saving(num)
55         continue
56     elif keyboard_input == "3":
57         num = int(input("您想要取多少钱?请输入:"))
58         get_money(num)
59         continue
60     else:
61         print("程序退出啦")
62         break       # 通过break退出循环

p61

 

posted @ 2023-05-29 16:20  ``飘``  阅读(20)  评论(0)    收藏  举报