擅长:python、mysql、java
<p>似乎我定义函数和声明函数内部使用的全局变量的顺序很重要。同时:</p>
<pre><code>def substituie(caractere):
lista_optiuni = genereaza_lista_substitutii(caractere)
global sir
sir = sterge_lambda(sir)
while lista_optiuni != []:
index = randrange(0,len(lista_optiuni))
if len(sir) + len(lista_optiuni[index])-1 > 60:
lista_optiuni.remove(lista_optiuni[index])
else:
sir = sir.replace(caractere,lista_optiuni[index],1)
sir = sterge_lambda(sir)
return True
return False
sir = start
</code></pre>
<p>将导致弹出错误消息,尽管执行仍正常进行,但以下代码:</p>
^{pr2}$
<p>不抱怨任何问题。唯一的区别是在第一个版本中,函数中使用的变量是在函数定义之后声明的。这不是一个执行问题,只是它被解释的方式。在</p>