Python-我的字符串变量不会加起来成为一个字符串

Python-My string variable won't add up into one string

我似乎在将字符串加在一起时遇到了问题。
我写了一个函数,我不断调用它来解码或编码字符串。
问题是当我打印结果时它只能打印一个字符,而不是整个代码。
在函数之外,此方法通过在字母后添加字母来工作。
这里我用数字。

def code(s,i):
  result = ""
  if i < len(s):
    if s[i] == '0':
      result += "3"
      print (result)
      code(s,i+1)
    if s[i] == '1':
      result += "4"
      print (result)
      code(s,i+1)
    else:
      print ("An Error seems to have occured.")
  else:
    print("Code is done.")
  return

例如,如果我输入:01
我期望结果:3
34
但它只打印: 3
4
所以基本上是重播 deletes/overrides 之前字符串中的内容后的结果。
我想在一个字符串中打印结果,而不是一行接一行地打印结果。
这只是我缩短的代码的一部分。为什么结果不相加?
这就是我定义输入的方式。
entered = input("Please type something.")

实际上你的代码是正确的,但只有一个问题,在通过第一个嵌套的 if 子句后,代码进一步进入下一个,它进入嵌套的 else 子句。

要停止此操作,您必须 return 程序

你应该这样写你的代码。

def code(s,i):
  result = ""
  if i < len(s):
    if s[i] == '0':
      result += "3"
      print (result)
      code(s,i+1)
      return
    if s[i] == '1':
      result += "4"
      print (result)
      code(s,i+1)
      return
    else:
      print ("An Error seems to have occured.")
  else:
    print("Code is done.")
  return

我找到了解决问题的方法。
每次我回忆起它重置我的代码的功能,所以我将结果作为 我函数的参数:

def code(s,i,result):

  if i < len(s):
    if s[i] == '0':
      result += "3"
      print (result)
      code(s,i+1,result)
      return
    if s[i] == '1':
      result += "4"
      print (result)
      code(s,i+1,result)
      return
    else:
      print ("An Error seems to have occured.")
  else:
    print("Code is done.")
  return

现在结果打印出了我需要的东西,感谢您的帮助! ^^