元组一种和列表类似的数据容器它和列表的区别是:元组中的元素不可修改。(元素0, 元素1 , 元素2 , 元素3, ......)# 元组中的元素不可修改 t1 (28, 67, 21, 89, 11) #t1[0]4 不可以 # 元组中存放了可变类型(列表)那可变类型中的内容仍可修改 t2 (28, 67, 21, 89, 11, [100, 200, 300, 周周]) t2[5][0]1元组 只能查其中的元素不可修改# 元组中的元素不可修改 t1 (28, 67, 21, 89, 11) # t1[0]4 不可以 # 元组中存放了可变类型(列表)那可变类型中的内容仍可修改 t2 (28, 67, 21, 89, 11, [100, 200, 300, 周周]) t2[5][0] 1 # 定义空元素 t3 () t4 tuple() print(type(t3), t3) print(type(t4), t4) # 定义只有一个元素的元组 t5 (你好,) print(type(t5), t5)常用方法# 常用方法 # index方法获取指定元素在元组中第一次出现的下标 t1 (23, 56, 78, 432, 56) result t1.index(56) print(result) # count方法统计指定元素在元组中出现的次数 t2(23, 56, 78, 432, 56) result2t2.count(56) print(result2)常用的内置函数t1 (23, 11, 32, 30, 17) # max函数返回元组中的最大值 res max(t1) print(res) # 32 # min函数返回元组中的最小值 res2 min(t1) print(res2) # 11 # len 函数返回元组中元素的个数(元组长度) res3 len(t1) print(res3) # 5 # sorted 函数对元组进行排序(不修改原元组返回一个新的列表) res sorted(t1) print(res) # [11, 17,23, 30, 32] # sum 函数统计元组中所有元素的和(元素必须是数字) res sum(t1) print(res) # 113 # 实际开发中的元组不一定是我们自己定义的比如函数的可变参数*args就是一个元组 def demo(*args): print(args) demo(233, 45, 78) # 元组的循环遍历 # while循环遍历 index 0 while index len(t1): print(t1[index]) index 1 # for循环 for item in t1: print(item)函数——解包列表或元组传参#定义函数时使用*args (变量不一定非要用args比如写:*data也可以)将收到的多个参数; def test(*args): print(f我是test函数我收到的参数是:{args}参数类型是:{type(args)}) list1 [100,200,300,400] # 函数调用时正常传递:列表 或元组 tuple1(你好,北京,尚硅谷) test(list1) test(tuple1) # 函数调用时使用*对:列表或元组进行解包后再传递参数 test(*list1) #此种写法相当于:test(100,200,300,400) test(*tuple1)#此种写法相当于:test(‘你好‘北京’‘尚硅谷)优化之前的案例 健身挑战赛 calc_total函数统计运动总量 calc_avg:统计平均运动量 check_success反馈挑战是否成功 main启动挑战赛 def calc_total(*nums): return sum(nums) def calc_avg(total, days7): return total / days def check_success(total, goal120): if total goal: return 恭喜挑战成功 else: return 抱歉挑战失败 def main(title, duration, goal): print(f【{title}】【{duration}天】挑战赛(请输入每天的数量)) # 用于存储每天的健身数据 nums [] # 根据duration的值循环让用户输入 for index in range(duration): nums.append(int(input(f请输入第{index 1}天的数据))) # 计算总数 total calc_total(*nums) avg calc_avg(total, duration) result check_success(total, goal) print(f【{title}】【{duration}天】健身总结) print(f总数{total}平均值{avg}) print(result) main(仰卧起坐, 7, 200)