鱼C论坛

 找回密码
 立即注册
查看: 2322|回复: 3

python 第23,24课课后题

[复制链接]
发表于 2017-8-4 11:26:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def is_palindrome(n, start, end):
        if start > end:
                return 1     
        else:
                return is_palindrome(n, start+1, end-1) if n[start] == n[end] else 0
        
string = input('请输入一串字符串:')
length = len(string)-1

if is_palindrome(string, 0, length):
        print('\"%s\"是回文字符串!' % string)
else:
        print('\"%s\"不是回文字符串!' % string)


else 0 是什么意思?
if is_palindrome(string, 0, length) 括号里面的参数是什么意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-4 11:32:17 | 显示全部楼层
如果不符合if的条件就返回else的条件即返回0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-4 11:33:12 | 显示全部楼层
把参数带回函数,走一遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-4 13:16:19 | 显示全部楼层
def is_palindrome(n, start, end):
        if start > end:
                return 1     
        else:
                return is_palindrome(n, start+1, end-1) if n[start] == n[end] else 0

函数利用递归来比效一串字符串中 两边的数 是否相等。
如:123321
第1次,1跟1比。
第2次,2跟2比。
第3次,3跟3比。
start 和 end 都是索引的下标,前面开始第1个的下标是0;后面开始第1个的下标是-1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-24 05:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表