Python-我的字符串变量不会累加为一个字符串

问题描述 投票:-4回答:1

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

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

这只是我的代码的一部分。为什么结果不累加?这就是我定义的输入方式。entered = input("Please type something.")

python string variables add
1个回答
0
投票

实际上,您的代码是正确的,但是只有一个问题,即在传递第一个嵌套的if子句之后,该代码进一步移至下一个嵌套的if子句,它又进入了嵌套的else子句。

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

您应该这样编写代码。

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
© www.soinside.com 2019 - 2024. All rights reserved.