零基础学习Python,第五章:函数

# Python函数:组织好的,可重复使用,实现特定功能的代码段
"""
name = "Chan"
length = len(name) #python内部函数len()
print(length)
"""

# str1 = "Chan"
# count = 0
# for i in str1:
#     count += 1
# print(f"字符串{str1}的长度是{count}")

# 使用函数优化,减少重复使用代码
"""
def my_len(data):
    count = 0
    for i in data:
        count += 1
    print(f"字符串{data}的长度是{count}")
str1 = "Chan"
my_len(str1)
"""
#函数定义
def function_name(parameter): #函数名
    name = parameter #函数体
    return name #返回值

def say_hi():
    print("Hello!")
#say_hi() #函数调用,函数要先定义后使用
# 函数的参数和返回值都可以省略

# 函数的参数
def add(a,b): #a,b为形参
    result = a+b
    print(f"{a}+{b}={result}")
    return result # 在函数体内,return后面的代码都不会执行了
# add(6,7) #可以选择不去接收函数返回值,6、7为实参
# a = add(6,7) #可以选择去接收函数返回值
# print(a)

#练习:查核算
def check(temperature):
    print("欢迎来到游乐园,请出示健康码并配合体温测量!")
    print("体温测量中,您的体温是:%.1f" %temperature)
    if temperature <= 37.5:
        print("体温正常,请进!")
    else:
        print("体温异常,需要隔离!")

# check(36)
# check(37.5)
# check(38.5)

"""
# 函数返回值
a = add(6,7) #可以选择去接收函数返回值
add(6,7) #可以选择不去接收函数返回值
# 如果函数没有使用return语句返回数据,函数依然有返回值,这个返回值为None
# 这是一个特殊字面量<class 'Nonetype'>
print(f"无返回值函数的返回内容是:{say_hi()}")
"""

#使用None进行if判断
"""
def check_age(age):
    if age >= 18:
        return "可以进入"
    else:
        return None

print(check_age(18))

result = check_age(15)
if not result: #表示result为None值,即False
    print("未成年,不予进入")
"""
# 函数的注释说明
# 1.通过多行注释进行说明
"""
函数说明
: parameter x: 形参x说明
: parameter y: 形参y说明
: return: 返回值说明
"""


def add(a,b): #弹出文档说明
    """
    函数说明
    : parameter a: 第一个相加数字
    : parameter b: 第二个相加数字
    : return: 返回相加值
    """
    print(a+b)
    return a+b

# 函数的嵌套调用:函数里用函数
"""
def func_b():
    print("--2--")

def func_a():
    print("--1--")
    func_b()
    print("--3--")

#func_a() #执行流程,先a再b
"""
# 变量的作用域
# 1.全局变量:函数体内外都可以使用的变量,定义在函数外即可;2.局部变量:内部变量
"""
def test_a():
    num = 10
    print(num)

#test_a()
#print(num) #此处报错,num是函数内的变量,是局部变量
"""
"""
num = 200
def test_b():
    print(f"test_b:{num}")

def test_c():
    num = 500
    print(f"test_c:{num}")
"""
#test_b()
#test_c()
#print(num) #test_b()与外部的num没有任何联系

# 若要在函数内修改函数外的值,就要用global定义全局变量
# 每个要修改函数外的值的函数都得用global定义全局变量
"""
def test_d():
    global num1
    num1 = 500
    print(f"test_d:{num}")
#test_d()
#print(num)
"""

# 综合案例:存取款ATM

name = None
money = 5000000

def rest_money_check(show_header): #查询余额
    if show_header: #通过bool形参控制输出
        print("-----------------查询余额-----------------")
    print(f"{name},您好,您目前的账户余额为:{money}\n")

def deposit(x): #存款
    global money
    print(f"{name},您存款{x}元成功。")
    money += x
    rest_money_check(False)

def withdraw(y): #取款
    global money
    print(f"{name},您取款{y}元成功。")
    money -= y
    rest_money_check(False)

def menu():
    while True: #无限循环
        print("------------主菜单------------")
        print("查询余额\t【输入1】") #通过\t对齐输出
        print("存款\t\t【输入2】")
        print("取款\t\t【输入3】")
        print("退出\t\t【输入4】")
        num = int(input("请输入您的选择:"))
        if num < 5:
            if num == 2:
                put_in = int(input("请输入存入金额:"))
                deposit(put_in)
            elif num == 3:
                get_out = int(input("请输入取出金额:"))
                withdraw(get_out)
            elif num == 1:
                rest_money_check(True)
            elif num == 4:
                print(f"{name},欢迎您下次使用。")
                break

        else:
            print("输入错误,程序退出。")
            break


print("您好,欢迎使用本ATM")
name = input("请输入您的姓名:")
menu() #调用函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值