有人可以帮我弄清楚如何逐日追踪腐烂活动。我相信我需要一个开放的清单。这是等式class Proxy:
def __init__(self, obj):
self.obj = obj
def __getattr__(self, attr):
return getattr(self.obj, attr)
def __add__ (...): ...
def __getitem__(...): ...
,其中:
Ad = Ad - 1*e - (decayConstant / isotope-half-life)
是一天结束时的同位素活动Ad
,d
是一天末Ad-1
(前一天)的同位素先前活动,d-1
是初始活动。 因此,第1天结束时的活动为A0
,在第2天结束时,
A1 = A0 * e -(decayConstant / isotope-half-life)
,等等。
A2 = A1 * e - (decayConstant / isotope-half-life)
代码的位置给我一个错误,不支持的操作数为' float'和'功能'。 任何帮助将不胜感激,谢谢。我正在编程课程的介绍中,所以我提前为我缺乏编程知识而道歉。
答案 0 :(得分:0)
问题是由safe_activity_level
函数中实现的变量天引起的。因为它用于使用表达式safe_activity_level
来计算Ao * math.e**(-(decay_constant*days/(half_life)))
。
def safe_activity_level(Ao,days,half_life):
safe_activity_level = Ao * math.e**(-(decay_constant*days/(half_life)))
return safe_activity_level
变量days
不是整数或字符串,因为你调用传递函数的变量。
第55行:
safe = safe_activity_level(Ao,safe_activity_level,half_life)
safe_activity_level
也是函数的名称,因此,它将函数作为变量days
传递。
最后,
这意味着变量days
是一个函数,而不是我之前所说的整数/字符串。
希望我帮助过!
由于myy rep低于50,我无法回复,但我想注意你通过添加()
来调用函数
这意味着,您应该按math.exp(XXX)
而不是math.exp**XXX
调用math.exp。