Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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我的字符串变量赢得';不能加成一个字符串_Python_String_Variables_Add - Fatal编程技术网

Python我的字符串变量赢得';不能加成一个字符串

Python我的字符串变量赢得';不能加成一个字符串,python,string,variables,add,Python,String,Variables,Add,我似乎在添加字符串时遇到问题。 我编写了一个函数,不断调用该函数对字符串进行解码或编码。 问题是当我打印结果时,它只打印一个字符,而不是整个代码。 在函数之外,此方法通过一个字母接一个字母来工作。 这里我使用数字。 def code(s,i): result = "" if i < len(s): if s[i] == '0': result += "3" print (result) code(s,i+1) if s[i] ==

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

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
def代码(s,i):
result=“”
如果我
例如,如果我输入:01
我希望结果是:3
34
但它只打印:3
4
因此,基本上,重放后的结果会删除/覆盖之前字符串中的内容
我想打印一个字符串,而不是一行接一行地打印结果。
这只是我代码的一部分。为什么结果不加起来?
这就是我定义输入的方式。
entered=input(“请键入内容”)

实际上,您的代码是正确的,但只有一个问题,即在传递第一个嵌套的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
def代码(s,i):
result=“”
如果我
我找到了解决问题的方法。
每次我调用函数时,它都会重置我的代码,所以我将结果作为 my函数的参数:

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

def代码(s、i、结果):
如果我

现在结果打印出我需要的,谢谢你的帮助^^

这个代码应该做什么?你期望你看不到的行为是什么?你的问题很难理解,你想实现什么,即s和i的价值观是什么?你得到了什么输出?你期望得到什么结果?请回答您的问题并添加一些详细信息。谢谢,这已经消除了错误信息。