i + = 1在for循环中生成语法错误

时间:2019-05-08 16:07:50

标签: python

例如

name = 'python'
length = len(name)
i = 0
for n in range(-1,(-length-1), -1):
    print( name[i], '\t', name[n])
    i+ = 1

我删除了i + = 1,这会产生语义错误。我是一个初学者,正在使用python网站提供的python教程。基本上,我正在练习向前和向后索引。

name = 'python'
length = len(name)
i = 0
for n in range(-1,(-length-1), -1):
    print( name[i], '\t', name[n])
    i+ = 1

我希望它运行的是名称的输出,然后是

5 个答案:

答案 0 :(得分:2)

您的错误出在您的i+ = 1语句中,该语句应为i += 1

尝试一下:

name = 'python'
length = len(name)
i = 0
for n in range(-1,(-length-1), -1):
    print( name[i], '\t', name[n])
    i += 1

答案 1 :(得分:2)

+和=之间不应有空格。

i += 1

答案 2 :(得分:0)

您不能随意在代码中散布空格。 Python识别的某些标记必须完全按照记录的方式编写。这对于例如class不能写cl a ss,对于这里使用的东西也是如此,这称为运算符。它需要写成+=,就像==不能有空格的方式一样。

答案 3 :(得分:0)

正如其他评论者已经指出的那样,+=用作a += b而不是a+ = b,而您执行i+ = 1时就是这种情况
为简单起见,由于您说自己是新手,所以我建议您改用i = i+1

此外,您还可以通过使用length属性从字符串末尾计算索引来简化for循环。 range(length)与执行range(0,length,1)

相同
name = 'python'
length = len(name)

i = 0
for i in range(length):
    print(name[i], '\t', name[length-i-1])
    i += 1

输出将为

p    n
y    o
t    h
h    t
o    y
n    p

答案 4 :(得分:-1)

在+和=

之间避免空格

使用i + = 1代替i + = 1

在此处引用:Behaviour of increment and decrement operators in Python