Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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 使用“编解码器”模块定义函数时出现问题 我正在尝试编写一个简单的Rot13编码器/解码器,它接受一个字符串,并使用编解码器模块对其进行编码/解码。我试图使用以下代码定义一个函数:codecs.encode'rot13_text','rot13'_Python_Python 3.x_Encode_Codec_Rot13 - Fatal编程技术网

Python 使用“编解码器”模块定义函数时出现问题 我正在尝试编写一个简单的Rot13编码器/解码器,它接受一个字符串,并使用编解码器模块对其进行编码/解码。我试图使用以下代码定义一个函数:codecs.encode'rot13_text','rot13'

Python 使用“编解码器”模块定义函数时出现问题 我正在尝试编写一个简单的Rot13编码器/解码器,它接受一个字符串,并使用编解码器模块对其进行编码/解码。我试图使用以下代码定义一个函数:codecs.encode'rot13_text','rot13',python,python-3.x,encode,codec,rot13,Python,Python 3.x,Encode,Codec,Rot13,在函数外使用编解码器模块没有问题。当我尝试使用codecs.encoderot13_text“rot_13”定义函数时,我收到一个NameError 到目前为止,我尝试了以下代码的许多变体: import codecs def rot13_encoder(): rot13_text = input("Type the text to be encoded: ") codecs.encode(rot13_text, 'rot_13') print(ro

在函数外使用编解码器模块没有问题。当我尝试使用codecs.encoderot13_text“rot_13”定义函数时,我收到一个NameError

到目前为止,我尝试了以下代码的许多变体:

import codecs

def rot13_encoder():
    rot13_text = input("Type the text to be encoded: ")
    codecs.encode(rot13_text, 'rot_13')
    print(rot13_text)
终端输出
您似乎正在使用Python2.7或更早版本

import codecs

def rot13_encoder(in_string):
    return codecs.encode(in_string, 'rot_13')

in_string = raw_input('Type the text to be encoded: ')
print(rot13_encoder(in_string))

在这种情况下,您应该使用原始输入。。。没有输入,没有内置的rot_13编码器/解码器。你是如何注册你的编解码器的?@AKX:有一个内置的rot_13编解码器,至少在一些python版本中是这样。另外,hi:OP已经用python-3.x标记了他们的问题,所以我假设这就是他们正在使用的。你好你的代码对我有效,没有任何错误。我正在使用python 3.7.3。@AKX:它在python-2.x和python-3.x中都存在;我不确定它是什么时候被引入2.x的,但在3.2之前的3.x版本中它显然是缺失的。我喜欢你这样做的方式。非常感谢您的更正。我感谢你的迅速反应。现在一切正常!非常感谢你
import codecs

def rot13_encoder(in_string):
    return codecs.encode(in_string, 'rot_13')

in_string = raw_input('Type the text to be encoded: ')
print(rot13_encoder(in_string))