| 
 | 
 
 
发表于 2020-12-27 22:12:01
|
显示全部楼层
   本楼为最佳答案    
 
 
- def palindrome(string): #定义函数,传入参数(字符串)
 
 -     length = len(string)
 
 -     last = length-1   #求的长度减一作为其索引值
 
 -     length //= 2    #索引值地板除2,得到中间字符的索引,以方便从两头依次按位比较
 
 -     flag = 1        #是否是回文联的标实符
 
 -     for each in range(length): #each从0开始取到整个字符串的中间位置  
 
 -         if string[each] != string[last]:  #如果头不等于尾,(直接排除)
 
 -             flag = 0#(直接淘汰的情况下,标实符变成0)
 
 -         last -= 1  #last变小,说明尾部前移,下次循环中each增大,说明头部后移,一直到each=last(全部字符串的中间位置),索命找完了
 
  
-     if flag == 1:  #标实符没变,说明是回文联
 
 -         return 1
 
 -     else:           #相反
 
 -         return 0
 
  
- string = input('请输入一句话:')
 
 - if palindrome(string) == 1:   #调用函数,根据返回值判断
 
 -     print('是回文联!')
 
 - else:
 
 -     print('不是回文联!')
 
  复制代码 |   
 
 
 
 |