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
现在结果打印出了我需要的东西,感谢您的帮助! ^^
我似乎在将字符串加在一起时遇到了问题。
我写了一个函数,我不断调用它来解码或编码字符串。
问题是当我打印结果时它只能打印一个字符,而不是整个代码。
在函数之外,此方法通过在字母后添加字母来工作。
这里我用数字。
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
现在结果打印出了我需要的东西,感谢您的帮助! ^^