数据来源
"""
演示:快速体验函数的开发及应用
"""
# 需求,统计字符串的长度,不使用内置函数len()
str1 = "itheima"
str2 = "incast"
str3 = "python"# 定义一个计算变量
count = 0
for i in str1:count +=1
print(f"字符串{str1}的长度:{count}")count = 0
for i in str2:count +=1
print(f"字符串{str2}的长度:{count}")count = 0
for i in str3:count +=1
print(f"字符串{str3}的长度:{count}")# 可以使用函数来优化这个过程
def my_len(data):count = 0for i in data:count += 1print(f"字符串{data}的长度:{count}")print("---------------我是分割线--------------------")my_len(str1)
my_len(str2)
my_len(str3)
"""
演示函数的定义语法
"""
#定义一个函数,输出相关信息
def say_hi():print("你好,李银河")return 100 # 返回一个数字
num = say_hi() # 调用函数并使用num接收函数返回的数据
print(f"num = {num}")
"""
演示函数使用参数
"""
#定义2数相加的函数,通过参数接收被计算的2个数字
def add(x,y):print(f"{x}+{y}={x + y}")# 调用函数,传入被计的2个数字
add(5,7)
"""
演示:定义函数返回值的语法格式
"""
# 定义一个函数,完成2数相加功能
def add(x,y):return x+y# 通过返回值,将相加的结果返问给调用者
sum = add(5,7)
print(f"sum={sum}")
"""
演示:定义函数返回值值Node
"""
def say_hello():print("Hello.. ")# 使用变量接收 say_hello 函数的返回值
result =say_hello()# 打印返回值
print(result) # 结果None#打印返回值类型
print(type(result)) # 结果< class' Nonetype'># None可以主动使用 return返回,效果等同于不写 return语句:
def say_hello():print(")return None# 使用变量接收 say_hello 函数的返回值
result = say_hello()# 打印返回值
print(result) # 结果None
# None 用于if判断
def check_age(age):if age >= 18:return "恭喜恭喜你已经不是小朋友了"else:return None
result = check_age(int(input("请输入你的年龄:")))if not result: # not 可以理解为反转,如果是false就会变成true,如果是true就会变成false# 进入if表示result的值是None,也就是Falseprint("未成年人,不可以进游乐场哦")
else:print("你已经成年了,可以进入游乐场")# None 用于声明五初始值的变量
name = None
"""
演示对函数进行文档说明
"""# 定义函数,进行文档说明
# 形参就是形式上的参数,如函数中用来接收数据的参数
# 实参就是实际上的参数,如调用函数时给函数传参的函数
def add(x,y):"""add 函数可以接受2个参数,进行2数相加的功能:param x: 形参x表示相加其中的一个数字:param y: 形参y表示相加的另一个数字:return: 变量return存储两数相加的结果"""result = x + yprint(f"2数相加的结果是:{result}")return resultadd(2,65) # 2,65就是实参
"""
演示嵌套调用函数
"""
# 定义函数func_b
def func_b():print("---2---")# 定义函数func_a,并在内部调用func_b
def func_a():print("---1---")# 嵌套调用func_b()func_b()print("---3---")
# 调用函数func_a
func_a()
"""
演示在函数使用的时候,定义的变量作用域
"""
# 演示局部变量
def test_a():num = 100print(f"num={num}")
test_a()
# 出了函数体局部变量就无法使用了,因为函数执行完函数内的局部变量就会被销毁
print(num)
# 演示全局变量
num = 200
def test_a():print(f"test_a:{num}")def test_b():num = 500 # 在函数内部定义一个局部变量,这个变量虽然和全局变量num的名称相同但是他们是互不影响的print(f"test_b:{num}")test_a()
test_b()
print(num)
# global关键字,在函数内声明变量为全局变量
num = 100
def test_a():print(f"test_a:{num}")def test_b():# global 关键字声明a是全局变量global numnum = 200 # 在函数内部定义一个局部变量,这个变量虽然和全局变量num的名称相同但是他们是互不影响的print(f"test_b:{num}")test_a()
test_b()
print(f"全局变量num = {num}")
money = 5000000 # 银行卡余额
name = input("请输入用户姓名:")def balance():"""balance 是查询银行卡余额的函数:return:"""print(f"-----------------查询银行卡余额-----------------")print(f"您的银行卡余额为:{money}")def deposit(data):"""deposit 是存款函数:param data: 形参data用来接收存款数值:return:"""print(f"-----------------存款-----------------")# 声明关键字money是全局变量global moneymoney += dataprint(f"成功存款{data}元")balance() # 调用查询余额的函数def withdraw_money(data):"""withdraw_money 是取款函数:param data: 形参data用来接收取款数值:return:"""print(f"-----------------取款-----------------")print(f"成功取款{data}元")# 声明关键字money是全局变量global moneymoney -= databalance() # 调用查询余额的函数def menu():"""menu 是主菜单函数:return: 返回操作的编号"""print(f"---------------{name},你好---------------")print("查询余额【输入1】")print("存款 【输入2】")print("取款 【输入3】")print("退出 【输入4】")return input("请输入您要操作的编号:")# 设置无限循环,确保程序不会退出 int() 把数据转换成整型
while True:keyboard_input = menu() # 一进来就调用主菜单if keyboard_input == "1":balance() # 调用查询余额的函数continueelif keyboard_input == "2":deposit(int(input("请输入你要存款的金额:")))continueelif keyboard_input == "3":withdraw_money(int(input("请输入你要取款的金额:")))continueelif keyboard_input == "4":print("退出成功")break # 退出循环else:print("................输入错误")menu()
本文发布于:2024-02-01 23:57:53,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170680865740001.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |