|  | 
 
| 
问题如下:
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  2. 还记得求回文字符串那道题吗?现在让你使用递归的方式来求解,亲还能骄傲的说我可以吗?(ps:我有点想说句:我不行)
 我的代码:
 试着给了些注释,希望能看得懂,技术原因,代码很乱,还望谅解。
 
 复制代码def funtion1(n):
    length = len(n)-1#这里求出输入的字符串的长度
    n3 = length//2#这里求出字符串对半分开后的长度
    n4 = 1
    if n3 == 0:
        return '正确'
    elif n4 == 0:
        return '错误'
    elif length%2 == 0:#判断字符串的长度为单数还是复数
        n1 = length//2#字符串对半分后的引索值
        n2 = n1+1#同上
        if n[n1] == n[n2]:#判断
            n3 -= 1
            n = n[1:-1]
            funtion1(n)
            return n3
        else:
            n4 -= 1
            return n4
    elif length%2 == 1:#判断字符串的长度为单数还是复数
        n1 = length//2#字符串对半分后的引索值
        n2 = n1+2#同上
        if n[n1] == n[n2]:#判断
            n3 -= 1
            n = n[1:-1]
            funtion1(n)
            return n3
        else:
            n4 -= 1
            return n4
print(funtion1('adasdasd'))
print(funtion1('上海自来水来自海上'))
(ps:自闭ing,递归每一道题都是想了很久,然后一运行就出问题,最后都要发帖问,我是不是没救了?这题完了还有一题,我有预感待会可能还得再发一次贴)
 
简化了很多 复制代码def funtion1(n):
    if len(n) == 0 or len(n) == 1:    # 如果 n 长度为 0 或 1 时返回 True
        return True
    
    if n[0] != n[-1]:
        return False
    return funtion1(n[1:-1])
print(funtion1('adasdasd'))
print(funtion1('上海自来水来自海上'))
 | 
 |