代码如下:
'''
函数中的可变参数
'''
#定义函数
def bmi(*person):
for per in person:
for item in per:
name = item[0]
height = item[1]
weight = item[2]
print('\n' + '='*13 + name + '='*13)
print('身高:' + str(height) + '米 \t 体重:' + str(weight) + '千克')
bmi = weight/(height*height)
print('bmi指数:', bmi)
#调用函数
listw = [['张三',1.75,80],['李四',1.85,90],['王五',1.95,90]]
listm = [('赵六',1.55,50),('二狗',1.77,40)]
bmi(listw)
bmi(listm)
调用函数那里为什么不是bmi(*list)?这样写就会报错
另外listw = [(),(),()]是什么形式?列表中的元组吗
list是函数,所以要换一个名字,也可以叫person也可以叫list1
listw = [['张三',1.75,80],['李四',1.85,90],['王五',1.95,90]],包含三个元素,每个元素是一个三元组
可变参数,在函数里边所有的参数主城一个元组,你的意识的可能将每个人作为一个参数传入,但是函数在参数解析的时候多了一层循环,所以在bmi(*list)调用的时候回曲线类型不匹配的错误,bmi应该这样定义: