|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 changhaitian 于 2017-1-7 22:09 编辑
小白向菜鸟迈进
list =“上海自来水来自海上”
基本思路: [0,1,2,3,4,5,6,7,8] = [8,7,6,5,4,3,2,1,0]
#正序描述与反序描述相一致
1.调用 BIF reverse 函数:
- def palindrome(string):
- list1 = list(string)
- list2 = reversed(list1)
- if list1 == list(list2):
- return 1
- else:
- return 0
- string = input('请输入一句话:')
- if palindrome(string) == 1:
- print('是回文联!')
- else:
- print('不是回文联!')
复制代码
2.切片法:
- def palindrome(string):
- list1 = list(string)
- if list1 == list1[::-1]:
- return 1
- else:
- return 0
- string = input('请输入一句话:')
- if palindrome(string) == 1:
- print('是回文联!')
- else:
- print('不是回文联!')
复制代码
3.首尾相咬,利用字符长度区间逐个判读:
- def palindrome(string):
- length = len(string)
- last = length-1
- length //= 2
- flag = 1
- for each in range(length):
- if string[each] != string[last]:
- flag = 0
- last -= 1
- if flag == 1:
- return 1
- else:
- return 0
- string = input('请输入一句话:')
- if palindrome(string) == 1:
- print('是回文联!')
- else:
- print('不是回文联!')
复制代码
|
|