'''
函数中的可变参数
'''
#定义函数
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(listw),不应该是bmi(*listw)吗,表示使用一个已经存在的列表作为可变参数
但如果加上了,就会报错。为什么会这样?
另外listm = [(),(),()]这种格式是什么?列表中包含元组吗?
list是函数,所以要换一个名字,也可以叫person也可以叫list1
listw = [['张三',1.75,80],['李四',1.85,90],['王五',1.95,90]],包含三个元素,每个元素是一个三元组
第一个问题:
单星号和双星号区别和作用。
https://www.cnblogs.com/arkenstone/p/5695161.html
第二个问题:
列表中包含元祖有什么不可以的呢?不知道你学没学过C语言的多维数组,那不也是数组包含数组,列表包含元祖,只是复杂的数据类型的一个
组合运用,可能以后接触多了,列表包含字典,列表包含列表,字典包含列表,字典包含字典等等,各种数据类型,混合使用。