考点:星号的巧妙使用方式,包含计算、传参【Python习题08】
作者:刘金玉编程
分析讲解:
由于*星号的普通使用我们都比较熟悉,所以本文采用实力介绍方式讲解习题。
习题一:
通过自定义函数传入任意多个参数,并且输出这些参数。
分析:
此题主要是熟知通过星号作为函数参数的功能,可以代表任意多个参数出入。传入后这个参数的类型其实是元素tuple。如下代码是“刘金玉编程”的案例。
解题代码:
def ljyfunc(*args):
print("*参数类型",type(args))
for i in args:
print(i)
ljyfunc("刘金玉编程","编程创造城市","带你编程入门","加油!")
输出效果:
*参数类型 <class 'tuple'>
刘金玉编程
编程创造城市
带你编程入门
加油!
代码分析:
此题的ljyfunc是自定义函数名称,函数括号内的*args是代表任意多个参数的变量写法。
此题通过print出来args这个变量,输出出入的参数最后边组成一个元素类型。我们可以通过for循环来输出元组。
习题二:
以多个关键词方式指定输入到自定义函数中,并输出输入的关键词和值。
考题分析:
此题考察的是**用法在函数中表示出入字典dict,例如下列代码:
解题代码
def ljyfunc2(**kwargs):
print("**参数类型",type(kwargs))
for k,v in kwargs.items():
print(k,v)
ljyfunc2(myname="刘金玉编程",portal="编程创造城市",things="带你编程入门",courage="加油!")
代码分析:
ljyfunc2是自定义函数,函数括号内使用**kwargs表示关键词参数,参数名字我们可以自定义,但是在使用这个自定义函数的时候,我们注意传入的形式是字典即可。此题,我们通过输出type(kwargs)就可以看到参数的类型是字典类型,所以,我们通过字典的items()方法来输出字典的键和值。
输出效果:
**参数类型 <class 'dict'>
myname 刘金玉编程
portal 编程创造城市
things 带你编程入门
courage 加油!
习题三:不通过sqrt函数方法去实现一个直角三角形的斜边。
考题分析:
此题实际是考查我们在数学计算时候,使用**代表指数幂的用法,其实我们一般都会考虑整数作为指数幂,求一个数的平方、立方等,但是却很容易忽略可以让幂使用小数的形式去是一个一个数的开根号。
程序代码:
#刘金玉编程自定义开平方
def ljysqrt(x):
return x**0.5
print("输出第三边的值",ljysqrt(3**2+4**2))
输出结果:
输出第三边的值 5.0
习题三小结:此题主要是一个对数学问题求解的技巧掌握,只要知道这个开根号技巧,此题就不难解。
这里我们就不多数*用于数学的乘法应用了,相信小伙伴们都是比较多用的了。