Truel=""
count = 0
finle_touch=False #true after it find the first 3 upperletter
# check if there is 1 lower letter after three upper letter
def one_lower(i):
count=0
if i == i.lower:
finle_touch=True
Truel=i
# check for 3 upper letter
def three_upper(s):
for i in s:
if count == 3:
if finle_touch==True:
break
else:
one_lower(i)
elif i == i.upper:
count +=1
print(count) #for debug
else:
count ==0
finle_touch=False
stuff="dsfsfFSfsssfSFSFFSsfssSSsSSSS......."
three_upper(stuff)
print(Truel)
私は 'stuff'の文字列をたくさん持っていて、3つの大文字でソロントする小文字を1つ見つけるのが好きです。Pythonで代入される前に参照されているローカル変数
が、私はこのコードを実行したときに私が手:
Traceback (most recent call last):
File "C:\Python33\mypy\code.py", line 1294, in <module>
three_upper(stuff)
File "C:\Python33\mypy\code.py", line 1280, in three_upper
if count == 3:
UnboundLocalError: local variable 'count' referenced before assignment
私は理由を理解していません。事前に感謝します
ありがとう、私は関数の外側のvarはこの問題を解決しますが、だから私は関数でグローバル変数を使用するたびに私はそれをグローバルとして定義する必要がありますか? –