'''
形参-形式参数:在定义函数的时候,在小括号里面编写内容,编写的是一个名字(变量名)
def 函数名(变量名1,变量名2)
函数的代码
实参-实际参数:在使用(调用)函数的时候,在小括号内编写内容,编写的是数据
'''
def sum(a): # a保存的是什么值?当调用sum函数时,就需要传入一个参数(实参)
print(a)
# 使用函数时,给定参数的值
# 写法:函数名()
sum(1)
sum([1,2,3,4,5])
sum('a')
# sum(1,2) # 错误写法:函数只有一个形参,调用时只能给一个实参
def gg(a, b):
"""
功能:打印输入的两个参数
参数:
a:第一个参数
b:第二个参数
"""
print(a)
print(b)
# gg(1) # 错误写法:函数中有两个形参,调用时必须给定两个实参
gg('abc',123)
# 实参的位置不固定,实参默认按照位置一一给定形参
gg(123,'abc')
# 关键字传参,按照形参的名字传参数
def ff(x=200,y=400):
print(x+y)
# print(x=100,x=200) # 语法错误:不能重复定义变量
# print(x+a) # 运行问题:a没有定义,只定义了x,y
ff(3,3)
# 混合使用,语法规定,单个数据值必须放在最前面,关键字放在后面
def rr(x,y,z):
print(1,z = 2,y = 3)
# print(z = 2,y = 3,1) # 语法问题:关键字不能放在最后
# print(1,x = 2,y = 3) # 运行问题,x参数只有保存一个参数,不能保存多个参数
# print(1,2,3)
def w():
print(1)
# w(1) # 函数没有形参,调用时不能传入实参
'''
在定义函数的时候,什么时候定义形参,什么时候不定义形参
前提:需求中有没有不确定的数据。如果有些形参,如果没有就不写形参
'''
# 定义一个函数,做列表数据求和功能
# 需求中有不确定的,列表
# 需要写形参,形参个数为1
def e_sum(ls): # 函数的名字叫e_sum 函数有一个形参 形参名为ls
"""
计算列表中所有元素的总和并打印结果
参数:
ls(list): 包含整数元素的列表
返回:
无
"""
sum = 0 # 定义一个变量 sum 并初始化为 0
for i in ls: # 遍历列表 ls 中的每个元素,用变量 i 代表每个元素
sum = sum + i # 将每个元素加到 sum 上
print(sum) # 打印最终的 sum 值
ts = [11, 22, 33, 44, 55] # 定义一个列表 ts
e_sum(ts) # 执行函数 e_sum()
ty = [11, 22, 33, 44, 55, 66, 77, 88, 99]
e_sum(ty)
tw = [11, 22, 33, 44, 55, 66, 77, 88, 99, 100]
e_sum(tw)
tq = [11, 22, 33, 44, 55, 66, 77, 88, 99, 100, 111, 222, 333, 444, 555, 666, 777, 888, 999]
e_sum(tq)
th = [11, 33, 55, 77, 99, 22, 44, 66, 88, 100, 111, 222, 333, 444, 555, 666, 777, 888, 999, 1000]
e_sum(th)
# 定义一个函数,获取三个数的乘积
# 前提:需求中有没有不确定的数据,如果有写形参,如果没有就不写形参
def hot(a,b,c):
print(a*b*c)
hot(2,4,6)
hot(20,40,60)
hot(200,400,600)
# 定义一个函数,判断用户的用户名和密码是否正确
# 参数有没有未知,如果有,有几个
# 用户名和密码是未知 所以有两个
def np(name, password):
# 定义一个函数,用于登录验证
name1 = "rocco" # 设置正确的用户名
password1 = "123456" # 设置正确的密码
if name == name1 and password == password1: # 验证用户名和密码是否正确
print("登录成功") # 登录成功
else:
print("登录失败") # 登录失败
name2 = input('请输入用户名:') # 获取用户输入的用户名
pass2 = input('请输入密码:') # 获取用户输入的密码
np(name2, pass2) # 调用登录验证函数进行登录验证