<p>你不能在任何地方调用你的函数,变量temp\u int\u year和int\u year是<code>Local variables of functions</code>,当函数调用完成后,它们不能从外部访问</p>
<p>您需要调用函数并将返回值保存到temp\u int\u year和int\u year中:</p>
<pre><code>int_year = user_input()
temp_int_year = predict_increase()
print(temp_int_year)
</code></pre>
<blockquote>
<p>NOTE: you have the same mistake with temp_int_year</p>
</blockquote>
<p>完整代码:</p>
<pre><code>import math
def user_input():
while True:
int_year = int(input("Please enter a year greater than 1970 " ))
try:
if int_year > 1970:
break
else:
print("Please enter a year greater than 1970")
except ValueError:
print ("It is not a valid year. Try again. ")
return int_year
int_year = user_input()
"""CO2 level of January 1970"""
c0 = 325.03
"""Current levels of CO2"""
c1 = 411.97
"""Difference in CO2 levels between 1970 and now"""
differenceCO = c1-c0
"""The average CO2 increase per year since 1970"""
per_year_changedCO = ((differenceCO)/(2019-1970))
"""Diffrence in years between 1970 and user input year"""
int_years = int_year - 1970
"""A projected CO2 level in user input year"""
int_year_changedCO = c0+((int_years)*(per_year_changedCO))
"""A projected RF in any year"""
RF = 5.35*(math.log((int_year_changedCO)/(c0)))
"""Increase in temperature from 1970 to user input year"""
def predict_increase():
temp_int_year = 0.5 * RF
return temp_int_year
temp_int_year = predict_increase()
print(temp_int_year)
</code></pre>