繁体   English   中英

如何在python中使用* args进行划分?

[英]How do I divide using *args in python?

我已经尝试了以下代码并得到了 0。我不明白为什么以及如何决定总和等于什么。

def division (*args):
    sum = args[0]
    for i in args[1:]:
        sum /= i
    return sum

当您使用像“division(400,100,2)”这样的参数时,您应该在参数之间使用逗号。 另一方面,如果您像这样调用该函数,则在调用该函数时已经进行了除法“除法(400/100/2)”,因此您实际上是使用 2 调用除法函数,并且在您的代码中将 1 分配给 sum 并除以 sum通过你的第一个参数并分配商数。 我将第一个参数分配给 sum 并从索引 1 开始 args,因为我们已经将索引 0 分配给 sum。

你的函数正在迭代 args 很好。

问题是您正在计算int(1/(400/100/2)) ,它小于零,因此转换为整数会截断小数

也许您应该传入参数列表而不是单个值。 或者不要为了打印结果而强制转换为 int

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM