<p>我不确定为什么变量<code>totalspeed</code>变量没有正确地传递给函数<code>startgame</code>,因为<code>startgame</code>函数是在<code>gettotalspeed</code>函数之后调用的</p>
<p>从调用函数执行:</p>
<pre><code>gettotalspeed(party_ids)
NoOfEvents=0
startgame(party_ids,totalspeed,distance,NoOfEvents)
</code></pre>
<p>功能</p>
<pre><code>def gettotalspeed(party_ids):
#Get selected party members IDS
print(party_ids)
#Obtain Speeds
ids_string = ','.join(str(id) for id in party_ids)
mycursor.execute("SELECT startspeed FROM characters WHERE CharID IN ({0})".format(ids_string))
myspeeds=mycursor.fetchall()
totalspeed=0
for speedval in myspeeds:
totalspeed=totalspeed + speedval[0]
print("totalspeed is: ",totalspeed)
return totalspeed
def startgame(party_ids,totalspeed,distance,NoOfEvents):
#Check if game end
print(totalspeed)
while distance!=0:
#Travel...
distance=distance-totalspeed
NoOfEvents=NoOfEvents+1
#Generate Random Encounter
genevent(NoOfEvents)
return NoOfEvents
</code></pre>
<p>产生的错误:</p>
<pre><code>NameError: name 'totalspeed' is not defined
</code></pre>
<p>输出(<code>ignoring party_ids</code>)</p>
<pre><code>totalspeed is: 15
</code></pre>