|
发表于 2021-1-29 10:36:11
|
显示全部楼层
本楼为最佳答案
本帖最后由 jackz007 于 2021-1-29 10:37 编辑
- def palindrome(string):
- length = len(string) # length = 字符串长度
- last = length-1 # last = 字符串 string 最后一个字符的索引
- length //= 2 # length = length / 2,循环次数,由于每次比较一对字符,所以,循环次数是字符串长度的一半
- flag = 1 # flag = 1 先假定字符串就是回文联,然后,试图在循环检查中予以否定
- for each in range(length): # 循环开始
- if string[each] != string[last]: # 如果首尾对应字符不相等
- flag = 0 # 否定前面的假设,字符串不是回文联
- last -= 1 # 字符串末尾索引减 1,准备下一对字符的比较
- if flag == 1: # 循环结束后,根据 flag 的值是否为 1 判断字符串是否为回文联
- return 1
- else:
- return 0
- string = input('请输入一句话:')
- if palindrome(string) == 1:
- print('是回文联!')
- else:
- print('不是回文联!')
复制代码 |
|