在每次迭代后更改函数的参数时迭代(python)

时间:2013-10-27 17:32:16

标签: python

我编写了以下函数,在每次迭代后都会更改其参数。

def thresh (*val):
    for x in val:
        return float(x)/100 * 10000.0

print thresh (15,20)

输出:TypeError: float() argument must be a string or a number

Desired output: 1500.0, 2000.0

感谢您的建议。

2 个答案:

答案 0 :(得分:2)

*val list tuple float()只能解析strfloat而非tuples

此代码段迭代*val并返回计算值列表。

def thresh (*val):
    return [float(one_val)/100 * 10000.0 for one_val in val]

答案 1 :(得分:1)

您需要迭代val,因为它有多个值。除以100乘以10000与乘以100相同。

def thresh (*val):
     return [x*100.0 for x in val] 

>>> print thresh(15,20)
[1500.0, 2000.0]