九千 发表于 2020-4-19 18:26:42

第19讲操作题0

0.编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自海上)
小甲鱼的第二个答案:
def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)       #修改1
    if list1 == list(list2):         #修改2
      return '是回文联!'
    else:
      return '不是回文联!'
print(palindrome('上海自来水来自海上'))


我在该答案的基础上做出两处修改(在上面程序中以注释形式标出修改的地方):
def palinrome(string):
    list1=list(string)
    list2=list.reverse(list1)    #修改后
    if list1==list2:                #修改后
      return '是回文联'   
    else:
      return '不是回文联'

print(palinrome('上海自来水来自海上')


修改后运行得到的结果是:不是回文联
请问这是为什么   list.reverse(list1)不是也实现的是将列表翻转过来吗

qiuyouzhi 发表于 2020-4-19 18:35:56

列表的大部分方法没有返回值,
直接list1.reverse()就好。

zltzlt 发表于 2020-4-19 19:57:03

列表的大部分方法都没有返回值,它们只是在原列表上操作。

更多请见:https://fishc.com.cn/thread-159315-1-1.html

九千 发表于 2020-4-19 21:59:15

明白了,谢谢回复
页: [1]
查看完整版本: 第19讲操作题0