【发布时间】:2021-08-10 19:20:52
【问题描述】:
我不明白为什么我不能从列表中计算平均值。
当我将此函数的值放入print 时,它就可以工作了。
当我将print 用于列表a 中的sum 和len 时,它可以工作。
但是当我尝试将列表中的值替换到我的函数中时,它不起作用。
我不明白为什么。
a = [1000,2000]
def avrage_value_kcl_per_day(kcl,day):
avkpd = kcl//day
print(avkpd)
print('{}'.format(len(a)))
print('{}'.format(sum(a)))
print(avrage_value_kcl_per_day(3000,2))
print(avrage_value_kcl_per_day(('{}'.format(sum(a))),('{}'.format(len(a)))))
【问题讨论】:
-
你的函数没有
return任何东西。我想它应该返回avkpd。 -
format 是一个字符串,所以你不能把它当作数字使用,除非你把它转换回来
-
您没有将值传递给函数,而是将值的字符串表示形式传递给函数。只是不要那样做。你根本不需要在这段代码中使用
format,甚至print,因为它会自动将值转换为字符串。 -
当您说
it doesn't work时,您应该使用完整的错误回溯更新您的问题。 -
avrage_value_kcl_per_day(sum(a), len(a))