如何将定义的输出用于Python中另一个定义的输入

如何将定义的输出用于Python中另一个定义的输入,python,Python,所以我想使用deF rot5的输出,即“fff”,作为 def rot5_反向。然后我希望它以与def rot5中dit相同的方式输出输出 我的课本上说它应该能用,但我不能让它用 print("rot5") aaa = "aaa" def rot5(string): alphabet = "abcdefghijklmnopqrstuvwxyz" retstr = "" for i in string: index = alphabet.index(i)

所以我想使用deF rot5的输出,即“fff”,作为 def rot5_反向。然后我希望它以与def rot5中dit相同的方式输出输出

我的课本上说它应该能用,但我不能让它用

print("rot5")
aaa = "aaa"
def rot5(string):
   alphabet = "abcdefghijklmnopqrstuvwxyz"
   retstr = ""
   for i in  string:
       index = alphabet.index(i)
       retstr = retstr + alphabet[(index+5) % 26]
   print(retstr)
rot5(aaa)


print("")
print("")

def rot5_inverse(string):
   alphabet = "abcdefghijklmnopqrstuvwxyz"
   retstr = ""
   for i in  string:
       index = alphabet.index(i)
       retstr = retstr + alphabet[(index+21) % 26]
   print(retstr)
rot5_inverse(rot5(string)
使用def rot5的输出作为def rot5_Inverse的输入,并输出rot5_Inverse的结果

代码应该根据我的教科书给出预期的输出,但是我得到的错误是

“名称‘字符串’未定义”


在最后一行中,您调用
rot5\u inverse(rot5(string)

  • 您的
    string
    变量尚未定义。如果要使用单词string,必须用
    rot5\u逆(rot5('string'))
    调用它,否则需要声明string,即
    string='aaa'
  • 你缺少一个结束括号

我不知道您想要完成什么,但我已经根据我对您的理解更正了您的代码!希望它能帮助您理解python

 print("rot5")
 aaa = "aaa"
 your_string = "abcdefghijklmnopqrstuvwxyz"

 def rot5(alphabet):
    retstr = ""
    for i in alphabet:
        index = alphabet.index(i)
        retstr = retstr + alphabet[(index+5) % len(alphabet)]
    return retstr

 def rot5_inverse(alphabet):
    retstr = ""
    for i in alphabet:
        index = alphabet.index(i)
        retstr = retstr + alphabet[(index+21) % len(alphabet)]
    return retstr

 rot5(aaa)
 print("")
 print("")
 print(rot5_inverse(rot5(your_string)))

我得到了不同的错误:
NameError:name'text'没有定义
。但是,
string
在您的上下文中可能指的是@davedwards我无意中粘贴的文本,它应该是字符串,我现在在问题中修复了它。感谢您指出这一点。现在在def rot5_反向中,我在
中为I in string得到了这个错误
line>“'NoneType'对象不可编辑”是的--因为您将
None
传递到函数中--这是
rot5
的返回值。我强烈建议您采用增量编程--您已经尝试编写了一个两阶段的主程序和两个非平凡函数,在测试任何代码是否工作之前都要完成所有这些。请至少写几行一次;测试那么多。在调试完这几个之前不要再写了。现在,你有足够多的错误,让你陷入了困境。