Python用递归函数调用实现字符串逆序
时间: 2024-04-06 15:09:20 浏览: 131
您好,以下是Python用递归函数调用实现字符串逆序的代码示例:
```
def reverse_string(s):
if len(s) == 0:
return s
else:
return reverse_string(s[1:]) + s[0]
original_string = "Hello, world!"
reversed_string = reverse_string(original_string)
print("Original string:", original_string)
print("Reversed string:", reversed_string)
```
运行以上代码,输出结果为:
```
Original string: Hello, world!
Reversed string: !dlrow ,olleH
```
相关问题
python设置递归函数实现字符串逆序
可以使用递归函数来实现字符串的逆序,具体代码如下:
```python
def reverse_str(s):
if len(s) == 0:
return s
else:
return reverse_str(s[1:]) + s[0]
# 测试
print(reverse_str("Hello World!")) # 输出 !dlroW olleH
```
在递归函数 `reverse_str` 中,首先判断字符串 `s` 是否为空,如果为空,则直接返回 `s`,否则通过 `return reverse_str(s[1:]) + s[0]` 将 `s` 中的第一个字符与剩余部分递归调用 `reverse_str`,最终得到逆序字符串。
用递归函数实现英文字符串逆序输出 【问题描述】输入一个英文字符串,编写递归函数使其逆序输出,输出字符串的开头用#符号表示。 【输入形式】一行字符串 【输出形式】一行字符串,以#开头,后接输入字符串的逆序输出 【样例输入】abc 【样例输出】#cba def myFun(para2): #递归结束条件 print("#",end="") else: myFun(para2[1:]) para1=input() myFun(para1) #调用自定义函数
您的代码有一些语法错误,我稍作修改后如下所示:
```python
def myFun(para2):
if len(para2) == 0: # 递归结束条件
print("#", end="")
else:
myFun(para2[1:]) # 递归调用
print(para2[0], end="") # 输出字符
para1 = input()
myFun(para1)
```
这个程序中的 `myFun` 函数是一个递归函数,它接受一个字符串参数 `para2`。在函数中,我们首先检查字符串是否为空,如果为空,则输出 `#` 符号,表示字符串的开头。否则,我们将函数自身作为参数调用,传入字符串 `para2` 的第二个字符之后的所有字符,这样函数就会递归地往下执行,直到字符串为空。然后,我们输出当前字符 `para2[0]`,这样就实现了字符串的逆序输出。
注意,为了让输出结果在同一行上,我们在 `print` 函数中使用 `end` 参数将换行符替换成了空字符串。
阅读全文