擅长:python、mysql、java
<p>您忘记返回三值元组:</p>
<pre><code>def airy(t,tref=35.,rhoM=3.2,rhoC=2.7,mode=None,rate=None,hlimit=None):
# Equilibrium ratios:
er = rhoC / (rhoM-rhoC)
di = rhoC/rhoM
# Static buoyancy equation:
excess = t-tref
hi = excess * (1-di)
ri = excess - hi
# Mode results:
if mode == 'Initial':
print("Model parameters: Crustal density =",rhoC,"Mantle density =",rhoM)
print("Mountain height (Km) =",np.round(hi, 3))
print("Root thickness (Km) =",np.round(ri, 3))
print("Ratio of height to root =",er)
return ri, hi
elif mode=='Erosive':
# Initialise loop
counter = 0
ht = hi
l_ht = []
l_rt_ = []
l_counter = []
while ht >= hlimit:
counter = counter+1
excess = t-tref
ht = excess * (1-di)
rt = excess - ht
ht = ht*np.exp(rate*counter)
t = ht+rt+tref
print(rt, ht, counter)
l_rt.append(rt)
l_ht.append(ht)
l_counter .append(counter)
return l_rt, l_ht, l_counter # HERE
elif mode==None:
return ri, hi
</code></pre>
<p>否则将不返回任何内容,并且无法打开包装</p>