鱼C论坛

 找回密码
 立即注册
查看: 2018|回复: 4

[技术交流] 小白,问一下各位大神,回文联这题的注释对吗

[复制链接]
发表于 2018-8-25 12:37:46 | 显示全部楼层 |阅读模式

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

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

x
def palindrome(string):#创建回文联函数
    length = len(string)#计算字符串长度
    last = length-1#这里表示的是最后一个字符的位置信息
    length //= 2#长度从中间刨开
    flag = 1#标记1
    for each in range(length):#for用each循环length的次数
        if string[each] != string[last]:#如果字符串的首和尾不匹配标记
            last -= 1#如果第0个和最后一个匹配,则继续匹配第1个和倒数第二个,这样循环下去;each是从0循环字符串出来,last-1是从最后个一个字符串倒着回来。
    if flag == 1:#如果条件成立 标记为1
        return 1#返回值1
    else:#如果不成立
        return 0#返回值0

string = input('请输入一句话:')#输入的字符赋值给string
if palindrome(string) == 1:#如果条件 回文联函数值等于1 成立
    print('是回文联!')#打印是回文联
else:#条件不成立
    print('不是回文联!')#打印不是回文联



#自己不会做,就看了答案,翻了很多前面人做的,然后我在自己加了注释,不知道对不对。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-25 12:57:22 | 显示全部楼层
你这个函数明显少写了东西,关键flag要根据判断赋1或者0,缺漏了。
其实回文联最简单的就是倒过来比较一下就OK了
def palindrome(string):
    if string == string[::-1]:
        print('是回文联')
    else:
        print('不是回文联')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2018-8-25 13:24:50 | 显示全部楼层
凌九霄 发表于 2018-8-25 12:57
你这个函数明显少写了东西,关键flag要根据判断赋1或者0,缺漏了。
其实回文联最简单的就是倒过来比较一下 ...

这个函数是课后答案,我的理解是这个函数只负责返回return值是等于1还是0,可能跟课程涉及的有关。不过你太厉害了,竟然可以使用列表来做出来,而且代码还少。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-25 14:29:10 | 显示全部楼层
Lioo 发表于 2018-8-25 13:24
这个函数是课后答案,我的理解是这个函数只负责返回return值是等于1还是0,可能跟课程涉及的有关。不过你 ...

可能是课程要求那么去比较吧。另外,那个不是列表,是字符串切片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-29 16:34:54 | 显示全部楼层
凌九霄 发表于 2018-8-25 14:29
可能是课程要求那么去比较吧。另外,那个不是列表,是字符串切片

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 13:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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