Python03 if 选择结构&while 循环结构&函数(def)&递归函数& 函数的参数

本文详细介绍了Python中的if...elif...else选择结构,while循环,包括阶乘计算示例,以及函数的定义与应用,包括递归函数、函数参数的多种类型:位置参数、默认参数、可变参数、关键字参数,并通过实例展示了它们的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# if 选择结构
# if ... elif ... else
'''
    格式:
        if 表达式1:
            代码块1(缩进)
            代码块2(缩进)
            代码块3(缩进)
        elif 表达式2:
            代码块4(缩进)
            代码块5(缩进)
            代码块6(缩进)
        else:
            代码块7(缩进)
            代码块8(缩进)
'''

# age = int(input("请输入年龄:"))
age = 200
if age <= 0 | age >= 150:
    print("成精了...")
elif age >= 18:
    print("成年...")
elif age < 18:
    print("未成年...")
else:
    print("未知")

# 循环结构
'''
Python中为了语法简洁 没有 do while

for循环
while循环
    格式:
        while(表达1):
            代码块(需要缩进) 
            代码块(需要缩进) 
            代码块(需要缩进) 
'''

# 阶乘
# 5! = 5 * 4 * 3 * 2 * 1

res = 1
n = 5
while (n >= 1):
    res *= n
    n -= 1
print(res)

# 函数
'''
    格式:
        def 函数名(参数1,参数2,参数3):
            代码块(需要缩进)
            代码块(需要缩进)
            代码块(需要缩进)
            # 需要返回值
                return 数据
'''


def chengfa(a, b):
    print(a * b)


chengfa(3, 4)

'''
 1 -> n的和
'''


def sumN(n):
    sum = 0
    for i in range(n):
        sum += i
    print(sum)


sumN(100)

# 递归函数

'''
    递归函数:
        1.需要调用自己
        2.需要有一个停止标记

'''


# 阶乘
# 5! = 5 * 4 * 3 * 2 * 1

def jiecheng(n):
    if n == 1:
        return 1
    else:
        return n * jiecheng(n - 1)


print(jiecheng(5))

# 函数的参数
'''
    参数类型:
        位置参数、默认参数、可变参数、关键字参数
'''

# 位置参数
'''
    特点:
        1. 位置参数可包含多个
        2. 函数调用时位置参数不能为空

'''


def chengfa1(a, b):
    print(a * b)


# chengfa1(1) #b为空报错

# 默认参数
'''
    特点:
        1.定义函数的时候,需要去指定参数的默认值
        2.使用时,可通过再次传入参数值进行覆盖默认值

'''


def chengfa2(a, b=0):
    print(a * b)


chengfa2(2) #0
chengfa2(2, b=3) #6

# 可变参数
'''
    特点:
        1.可变参数的写法需要在参数名之前加一个*如: *args
        2.可变参数实际是一个tuple

'''


def chengfa3(*args):
    print(args, type(args))


chengfa3(2, 3, 4, 5)


def chengfa4(*args):
    sum = 1
    for i in args:
        sum *= i
    print(sum)


chengfa4(4, 5, 6, 7)

# 关键字参数
'''
    特点:
        1.定义参数时需要用**参数名表示关键字参数 如:**kwargs
        2.类型是一个字典类型
        3.传入时需要按照k=v形式进行传入
        4.可以接收多个kv参数

'''


def info(name, age, **kwargs):
    print(name, age, kwargs, type(kwargs))


info("zhangsan", 23, gender="男")
info("zhangsan", 23, gender="男", skill="打游戏")


# 判断传入参数有没有age,如果有则打印,没有则提示:请输入age
def info2(name, **kwargs):
    if ('age' in kwargs.keys()):
        print("age:", kwargs["age"])
    else:
        print('请输入age')


info2(name="lisi")
info2(name="wangwu", age=3)

# 匿名函数
# 获取x的y次方
lambda_function = lambda x, y: x ** y
print(lambda_function(2, 3))
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值