SyntaxError:不能分配给函数调用Python 3.3

时间:2015-12-19 14:43:50

标签: python python-3.x

我想知道SyntaxError: can't assign to function call (<string>, line 6)对我的特定代码行的意义。我几乎到处寻找并且我没有得到任何我理解的东西,仅仅是因为我昨天刚刚开始学习代码而且其他所有人都混淆了他们的代码串混淆了。 这是我输入的内容:

name = 'Hayley'
print(len(name))

while len(name) < 10:
    print('k')
    len(name) = len(name) + 1
print('Done.')

我希望程序在名称长度上加1,直到它不再小于10。它从6开始然后增加1直到它达到10并且程序不再运行。

我只是尝试用循环练习并使用许多毫无意义的东西来练习并确保它坚持到我的脑海。我正努力学习为今年夏天工作的实习编写代码。

2 个答案:

答案 0 :(得分:1)

初学者时最好记住,

如果作业左侧有托架(圆括号),您应该再次检查并格外小心。

len("arg")

是一个用参数&#34; arg&#34;调用的函数。它已经返回一个值。因此无法分配给某些内容,可以分配给它。

我无法真正帮助你,因为我不知道你想要做什么。但是当你试图增加字符串的长度时,你期望发生什么,通过使用函数来单独测量长度。研究你究竟想要什么,你会更接近答案,就像在所有其他科目中一样。

答案 1 :(得分:0)

len(name)返回&#34; Hayley&#34;的长度。在上面的代码中。您无法为其指定其他值。也许你打算这样做:

>>> name = "Hayley"
>>> x = len(name)
>>> print(x)

6

In [2]:

>>> while x < 10:
>>>    print('k')
>>>    x += 1
>>> print('Done.')

k
k
k
k
Done.