我似乎在将字符串加在一起时遇到问题。我编写了一个函数,不断调用它来解码或编码字符串。问题是当我打印结果时,它只能打印出一个字符,而不是整个代码。在功能之外,此方法可以通过在字母后面添加字母来工作。我在这里使用数字。
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.")
实际上,您的代码是正确的,但是只有一个问题,即在传递第一个嵌套的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