|
发表于 2020-5-20 22:55:45
|
显示全部楼层
回帖奖励 +1 鱼币
记得养成注释加#的习惯:
- def palindrome(string):
- length = len(string) #字符的长度? 是的
- last = length-1 #这个作用是什么?-1的意思是? 最后一个字符的编号,减一是因为python计数从0开始
- length //= 2 #回文联应该不会被2整除啊? 这个地板除是求长度的一半,长度偶数正好一半,长度奇数是减1后的一半
- flag = 1 #就是个标记,等于1时是回文联
- for each in range(length): #这个循环只检查一半长度,length已经地板除2了
- if string[each] != string[last]: #这是把前半的字符和后半的作比对,比如6个字符,就是0-5,1-4,2-3
- flag = 0 # 有一个不相等,就不是回文联,把标记改成0
- last -= 1 #每循环一次,last减1位,each加1位,互相对应
- if flag == 1: #flag等于1说明是回文联
- return 1
- else:
- return 0
- string = input('请输入一句话:')
- if palindrome(string) == 1:
- print('是回文联!')
- else:
- print('不是回文联!')
复制代码 |
|