2016-03-02 121 views
-2

Idon不知道为什么会发生这种情况。一直试图修复了一段时间,现在在分配之前引用的Python局部变量'Current_Balance'

def Bettings(): 
    while True: 
     if "Rolling in 35." in Label.text: 
      Updated_Balance = driver.find_element_by_xpath("""//*[@id="balance"]""") 
     if "Rolling in 23." in Label.text: 
      Current_Balance = driver.find_element_by_xpath("""//*[@id="balance"]""") 

     if "Rolling in 28." in Label.text: 

      if Current_Balance < Updated_Balance: 

       GrayBetButton.click() 
      if Current_Balance > Updated_Balance: 
       RedBetButton.click() 

Bettings() 

错误:

UnboundLocalError: local variable 'Current_Balance' referenced before assignm 
+0

可能重复[Local(?)变量在赋值之前引用](http://stackoverflow.com/questions/11904981/local-variable-referenced-before-assignment) – schwobaseggl

回答

2

你定义的变量Current_Balance只有当你经过"Rolling in 23." in Label.text“路径”。

当您直接通过"Rolling in 28." in Label.text路径时,此变量尚未创建。

你可能想在顶部创建这个变量,像这样:

def Bettings(): 
    current_balance = 0 
    while True: 
     if "Rolling in 35." in Label.text: 
      updated_balance = driver.find_element_by_xpath("""//*[@id="balance"]""") 
     if "Rolling in 23." in Label.text: 
      current_balance = driver.find_element_by_xpath("""//*[@id="balance"]""") 
     if "Rolling in 28." in Label.text: 
      if current_balance < updated_balance: 
       grayBetButton.click() 
      if current_Balance > updated_balance: 
       redBetButton.click() 

Bettings() 

注意,按照惯例,变量名往往先从非大写字母(大小写是优选的类名)。

相关问题