程序依然很简单,不过比之前发的那个要复杂一点,用了递归,求反转后的字符串。
适合让中小学感兴趣的孩子学习。
问题:abcde*4=edcba
代码:
#反转字符串
def reverse2(s):
if s=="":
return s
else:
return reverse2(s[1:])+s[0]
#从11111开始,到小于25000 之间的取值范围
for x in range(11111,25000):
si=4*x
#str 把数字变成字符串
if(str(x)==reverse2(str(si))):
print (x)
reverse2(s) reverse2 函数名 s 参数 (想要反转的字符串)
s[1:])+s[0] 比如说s =abcdef 那么s[1:]= bcdef 第一位之后所有内容, s[0]=a
return reverse2(s[1:])+s[0] 递归是在函数之内调用函数, 直到 最小的s=="":
运行结果:
21978
这篇博客介绍了一个使用递归反转字符串的简单程序,适合中小学生学习编程。通过示例代码展示了如何反转字符串,并利用该方法找到11111到25000之间满足特定反转条件的数字21978。递归函数reverse2通过不断切片和拼接实现字符串反转,代码简洁易懂。

769

被折叠的 条评论
为什么被折叠?



