Kώσ*_*δας -3 python arguments list
下面的代码打印 7+6+3 (=4) 的平方根。
import math
def notdist(*args):
return math.sqrt(sum(args))
print(notdist(7,6,3))
Run Code Online (Sandbox Code Playgroud)
我想要这样的评论:
import math
def dist(*args):
return math.sqrt(sum(args**2))
print(dist(7,6,3))
Run Code Online (Sandbox Code Playgroud)
用于计算距 O(0,0) 的距离,但这给出了错误:
** 或 pow() 不支持的操作数类型:“tuple”和“int”
我知道我可以使用另一个代码,例如:
import math
def uglydist(*args):
s = 0
for i in range(len(args)):
s = s + args[i]**2
return math.sqrt(s)
print(uglydist(3,4)) # = 5
Run Code Online (Sandbox Code Playgroud)
但我想知道这是否是修改第一个代码的简单方法。类似于第二个代码,但正确。
提前致谢!
小智 5
也许里面有一个生成器表达式sum
:
def dist(*args):
return math.sqrt(sum(x**2 for x in args))
Run Code Online (Sandbox Code Playgroud)