为什么我不能在函数中返回和值?
def second_since_midnight(h, m, s):
h_in_second = 3600 * h
m_in_second = m * 60
s_second = s
return sum(h_in_second, m_in_second, s_second)
print(second_since_midnight(13, 30, 45))
善意
将jasonharper的答案放在这里,因为它似乎已经解决了问题。
您需要将值封装在可迭代的中,如列表或元组
sum((采用单个值序列,而不是单个参数。
不要使用sum(h_in_second, m_in_second, s_second)
,而是尝试将您的值封装在类似sum([h_in_second, m_in_second, s_second])
的列表中
正如注释中所指出的,sum
需要一个可迭代的参数,而不是单个参数来求和然而您收到的错误代码说它需要";最多两个论点";这似乎与这个说法不符。
第二个参数是总和的起始值。从Python 3.8及更高版本开始,可以将其指定为关键字参数。
>>> a = [1, 2, 3]
>>> sum(a)
6
>>> sum(a, 1)
7
>>> sum(a, start=1)
7