Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;Can';t分配给函数调用";错误_Python_Function_Variable Assignment - Fatal编程技术网

Python &引用;Can';t分配给函数调用";错误

Python &引用;Can';t分配给函数调用";错误,python,function,variable-assignment,Python,Function,Variable Assignment,我的函数应该以字符串参数作为输入,并返回输入字符串的rot-13编码 def str_rot_13(string): c = list(string) for num in c: if ord(num) >= ord('a') and ord('z'): if ord(num) >=('m'): ord(num) -=13 else: ord(num) +=1

我的函数应该以字符串参数作为输入,并返回输入字符串的rot-13编码

def str_rot_13(string):

    c = list(string)

    for num in c:
       if ord(num) >= ord('a') and ord('z'):
          if ord(num) >=('m'):
             ord(num) -=13
          else:
             ord(num) +=13

       elif ord(num) >= ord('A') and ord('Z'):
          if ord(num) >=('M'):
             ord(num) -=13
          else:
             ord(num) +=13

    z += chr(ord(num))
    return z
它给了我一个“不能分配给函数调用”的错误。我不确定我做错了什么

编辑:终于开始工作了!谢谢

解决方案:

 if ord(num) >= ord('a') and ord('z'):
       if ord(num) >=('m'):
         k+= chr(ord(num)-13)
      else:
         k+= chr(ord(num)+13)

    elif ord(num) >= ord('A') and ord('Z'):
       if ord(num) >=('M'):
          k+= chr(ord(num)-13)
       else:
          k+= chr(ord(num)+13)

 return k

问题在于这样的线路:

ord(num) -=13
ord
是一个内置函数。可以使用函数返回的值,但不能为函数赋值

你可以做的是:

num = chr(ord(num) - 13)
这可能无法解决您的问题,因为您还有其他错误,比如您试图添加变量
z
,而不在某处声明它。您应该在for循环之前声明它:

z = ''
for num in c:
...
并将该行缩进

z += chr(ord(num))
所以它在for循环中。您还可以:

z += num

因为chr和ord是反向函数。

你做错了的是,你正在分配一个函数调用!例如:

ord(num) -=13
您正在为函数调用赋值
ord(num)
——但您不能这样做

你实际上想做的大概是:

num = chr(ord(num) - 13)
等等

当然,除非您在选择不显示的代码部分中定义了
z
,否则在添加到
z
时仍然会遇到问题。当然,很难帮助调试您选择对我们隐藏的代码