Python新手求助:计算总秒数时函数调用触发TypeError错误
总秒数计算函数调用报错解决
我是Python新手,现在要完成总秒数计算的任务,参考了格式但还是搞不定,一直提示分钟和秒的参数有问题。我写的代码如下:
def get_seconds(hours, minutes, seconds): return 3600*hours + 60*minutes + seconds amount_a = get_seconds(3600*2 + 60*30 + 0*0) amount_b = get_seconds(0 + 60*45 + 15) result = amount_a + amount_b print(result)
运行后出现了这个错误:
Error on line 4: amount_a = get_seconds(3600*2 + 60*30 + 0*0) TypeError: get_seconds() missing 2 required positional arguments: 'minutes' and 'seconds'
错误原因
你定义的get_seconds函数明确要求三个位置参数:hours、minutes、seconds,但调用时却直接把预先计算好的总秒数传进去,相当于只传了一个参数,函数自然会提示缺少另外两个必要参数。
修正后的代码
正确的调用逻辑是分别传入小时、分钟、秒的原始数值,让函数内部完成总秒数的计算:
def get_seconds(hours, minutes, seconds): return 3600*hours + 60*minutes + seconds # 分别传入小时、分钟、秒的数值,而非预先计算的总秒数 amount_a = get_seconds(2, 30, 0) amount_b = get_seconds(0, 45, 15) result = amount_a + amount_b print(result)
这样运行后就能得到正确的总秒数结果。
内容的提问来源于stack exchange,提问作者Vincent Hyacienth
相关产品推荐
相关产品推荐

