Python之函数(综合练习)

函数的综合练习

案例1:

编写一个函数cacluate, 可以接收任意多个数,返回的是一个元组.
元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数.

代码:

# 1.定义函数; *args:可变参数
def cacluate(*args):
    # 2.计算平均值; args的数据类型为元组,sum求和
    average = sum(args) / len(args)
    # 3.将所有大于平均值数的值存入列表
    list=[]
    for i in args:
        if i > average:
            list.append(i)
    # 4.将平均值和列表元素存入元组
    tuple=(average,list)
    return tuple

print(cacluate(1,1,2,3,4))

运行结果:
在这里插入图片描述
案例2:

编写一个函数, 接收字符串参数, 返回一个元组,
元组的第一个值为大写字母的个数, 第二个值为小写字母个数.
例如  
输入:'hello WORLD'
输出:(5,5)

代码:

# 直接在函数里print输出,在调用函数时只能打印不能使用
# 如果想要使用函数里的变量值,此时需要在定义函数时用return返回函数值

def fun(c):
    # 记录大写字母个数
    upper = 0
    # 记录小写字母个数
    lower = 0
    # 统计大小写字母的个数
    for i in c:
        if i.isupper():
            upper += 1
        # 注意:不能用else
### Python 基础综合练习题目与示例 以下是 Python 基础综合练习的题目和示例代码,涵盖了字符串操作、列表基础、函数定义与调用、最大公约数与最小公倍数计算以及斐波那契数列等内容[^1]。 #### 字符串操作 ```python # 字符串拼接与切片 sentence = 'Python is a programming language' print(sentence[:6]) # 输出前6个字符 print(sentence[7:9]) # 输出从第8到第10个字符(不包含第10个) print(sentence[::-1]) # 反转字符串 ``` #### 列表基础 ```python # 列表的增删改查 my_list = [1, 2, 3, 4, 5] my_list.append(6) # 添加元素 print(my_list) my_list.remove(3) # 删除指定值 print(my_list) my_list[0] = 10 # 修改第一个元素 print(my_list) ``` #### 函数定义与调用 ```python # 定义一个带参数的函数并调用 def add_numbers(a, b): return a + b result = add_numbers(5, 7) print(result) # 输出结果为12 ``` #### 最大公约数与最小公倍数 ```python # 计算两个整数的最大公约数和最小公倍数 def gcd(a, b): while b: a, b = b, a % b return a def lcm(a, b): return abs(a * b) // gcd(a, b) num1 = int(input("请输入第一个整数: ")) num2 = int(input("请输入第二个整数: ")) print(f"最大公约数为: {gcd(num1, num2)}") # 输出最大公约数 print(f"最小公倍数为: {lcm(num1, num2)}") # 输出最小公倍数 ``` #### 斐波那契数列 ##### 递归实现 ```python # 使用递归计算斐波那契数列 def fibonacci_recursive(n): if n <= 1: return n return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2) n = int(input("请输入要计算的斐波那契数列位置: ")) print(f"第{n}个斐波那契数为: {fibonacci_recursive(n)}") ``` ##### 非递归实现 ```python # 使用循环计算斐波那契数列 def fibonacci_iterative(n): if n <= 1: return n a, b = 0, 1 for _ in range(2, n + 1): a, b = b, a + b return b n = int(input("请输入要计算的斐波那契数列位置: ")) print(f"第{n}个斐波那契数为: {fibonacci_iterative(n)}") ``` #### 比较执行效率 ```python import time # 比较两种实现方式的执行时间 start_time = time.time() print(fibonacci_recursive(30)) end_time = time.time() print(f"递归方式耗时: {end_time - start_time:.6f}秒") start_time = time.time() print(fibonacci_iterative(30)) end_time = time.time() print(f"非递归方式耗时: {end_time - start_time:.6f}秒") ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值