|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
真诚求解答,以下是我写的用来判断回文联的函数,方法一可以,但是方法二明明应该没什么问题,可就是没有办法判断成功。
方法一
def panduan(string):
list1 = list(string)
list2 = reversed(list1)
if list1 == list(list2):
print("是回文联")
else:
print("不是")
print(list1)
panduan('上海自来水来自海上')
是回文联
['上', '海', '自', '来', '水', '来', '自', '海', '上']
方法二
def panduan(string):
list1 = list(string)
list2 = reversed(list1)
print(list(list2))
if list1 == list(list2):
print("是回文联")
else:
print("不是")
print(list1)
panduan('上海自来水来自海上')
['上', '海', '自', '来', '水', '来', '自', '海', '上']
不是
['上', '海', '自', '来', '水', '来', '自', '海', '上']
不知道为什么没有办法贴图,所以只能把运行结果粘贴过来。
望解答!
把print(list(list2))去掉就好了
原因是reversed(list1)
这里其实是生成了一个迭代器,迭代器用了一次就没了。
所以当你运行一次print(list(list2))后,迭代器就空了,所以后面就是false了
|
|