<p>看看这个关于<a href="https://www.w3schools.com/python/python_scope.asp" rel="nofollow noreferrer">Python Scoping</a>的教程</p>
<blockquote>
<p>A variable created inside a function belongs to the local scope of that function, and can only be used inside that function.</p>
</blockquote>
<p>您的<code>playerSolInt</code>变量在函数外部不可用,因此需要从函数返回它并在外部赋值</p>
<pre class="lang-py prettyprint-override"><code># Import module
import random
random.seed()
# (Random) values and calculation
firstValue = random.randint(1,10)
secondValue = random.randint(1,10)
sol = firstValue + secondValue
# Define function called in try section of while-loop
def getUserInput():
print(" - Please solve:", firstValue, "+", secondValue, " -")
playerSol = input()
return int(playerSol) # this will return it
counter = 0
falseAnswer = True
while falseAnswer:
counter += 1
try:
playerSolInt = getUserInput() # this will assign the returned value
except:
print(" - You did not enter a number. -")
continue
if sol == playerSolInt:
print(" - Correct answer! -")
falseAnswer = False
else:
print(" - False answer! -")
print(" - You tried", counter, "times in total. -")
print("*** Program has stopped ***")
</code></pre>