【问题标题】:Python - why is += operator not working [duplicate]Python - 为什么 += 运算符不起作用[重复]
【发布时间】:2017-03-16 05:50:42
【问题描述】:

我是 python 新手,正在开发一个简单的密码破解程序,用于练习列表和字典。在我的测试程序进行到一半时,我遇到了这个错误。

PS E:\python_projects> python test.py
  File "test.py", line 9
    global counter += 1
                    ^
SyntaxError: invalid syntax

这里是代码...

maxChar = 4
counter = 0
alph = ['A','B','C','D','E','F','G']
passCheck = []
password = 'f'
password = str(password.lower())

def loopTest():
    global counter += 1

    if counter <= maxChar:
        loopTest()  #Nests loops

    else:
        for letter in alph:     #scans letters
            passCheck[0] = letter

            if passCheck == password:   #checks password
                print 'found password: ' + passCheck

            else:
                print passCheck

loopTest()

print 'Debug.'
print counter

可能还有其他错误,这很好,但我不明白为什么我会挂断我以为我理解的 +=,无论如何感谢您的关注!

【问题讨论】:

  • 这不是你使用global的方式。
  • 这是一个语法错误。我会看看应该如何使用global,看看为什么你除了做声明什么都做不了
  • 最好的主意:摆脱global 并使用参数和返回值。

标签: python python-2.7


【解决方案1】:

您在 Python 中混合了两种不同的想法,"global statement""augmented assignment statement."

global 语句”的语法非常简单:

"global" identifier ("," identifier)*

global 语句中不允许有任何表达式。

也许你想说:

global counter
counter += 1

【讨论】:

  • 啊,太好了,让我试一试,谢谢!
猜你喜欢
  • 2015-07-06
  • 2011-04-25
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多