<p>变量的范围不一致。你知道吗</p>
<p>你可以这样做:</p>
<pre><code>def generation_values():
Gen0_J=int(input("How many juveniles in Generation 0? "))
Gen0_A=int(input("How many adults in Generation 0? "))
Gen0_S=int(input("How many seniles in Generation 0? "))
Srate_J=float(input("What is the survival rate for juveniles? "))
Srate_A=float(input("What is the survival rate for adults? "))
Srate_S=float(input("What is the survival rate for seniles? "))
Birth_rate=int(input("What is the birth rate? "))
return Gen0_J,Gen0_A,Gen0_S,Srate_J,Srate_A,Srate_S,Birth_rate
def display_values(Gen0_J,Gen0_A,Gen0_S,Srate_J,Srate_A,Srate_S,Birth_rate):
print("\nThe amount of juveniles in Generation 0 is",Gen0_J)
print("The amount of adults in Generation 0 is",Gen0_A)
print("The amount of seniles in Generation 0 is",Gen0_S)
print("The birth rate in Generation 0 is",Birth_rate)
print("The survival rate for juveniles in Generation 0 is",Srate_J)
print("The survival rate for adults in Generation 0 is",Srate_A)
print("The survival rate for seniles in Generation 0 is",Srate_S)
Gen0_J,Gen0_A,Gen0_S,Srate_J,Srate_A,Srate_S,Birth_rate = generation_values()
display_values(Gen0_J,Gen0_A,Gen0_S,Srate_J,Srate_A,Srate_S,Birth_rate)
</code></pre>
<p>这是第一步。你知道吗</p>
<p>这样,“main”命名空间中的变量就与函数中的变量分开了。你知道吗</p>
<p>消除重复的下一步可能不是关心主命名空间中变量的分离,而是将它们视为元组:</p>
<pre><code>data = generation_values()
display_values(*data)
</code></pre>
<p>消除重复和提高清晰度的进一步步骤包括:</p>
<ul>
<li>在一个对象(名为tuple或其他对象)中组装数据</li>
<li>在对象的方法中请求并输出数据</li>
</ul>