aiivu 发表于 2020-4-13 00:30:35

新手求助

def function(temp):
    list1 = list(temp)

    if list1 == list1.reverse() :
      print('是回文联')
    else:
      print('不是回文联')


temp = input('请输入一句话:')
function(temp)


请问能帮忙解释一下为什么出错吗?{:10_266:}

leon_xinxin 发表于 2020-4-13 00:38:34

def function(temp):
...   list1 = list(temp)
...   print(list1)
...   print(list1.reverse())
...   if list1 == list1.reverse() :
...         print('是回文联')
...   else:
...         print('不是回文联')
...
...
... temp = input('请输入一句话:')
... function(temp)
...
请输入一句话:>? 123321
['1', '2', '3', '3', '2', '1']
None
不是回文联
你好,可以这样检测自己的错误。这里是reverse()用错了,这个函数不返回值,只返回None

sunrise085 发表于 2020-4-13 00:59:02

reverse函数没有返回值,是将原字符串进行反转。
程序有两种修改方法,一种是使用python的内置方法reversed函数,一种是使用list的方法reverse函数
def function(temp):
    list1 = list(temp)
    if list1 == list(reversed(list1)):
      print('是回文联')
    else:
      print('不是回文联')


temp = input('请输入一句话:')
function(temp)
def function(temp):
    list1 = list(temp)
    list2=list1[:]
    list1.reverse()
    if list1 == list2:
      print('是回文联')
    else:
      print('不是回文联')


temp = input('请输入一句话:')
function(temp)

aiivu 发表于 2020-4-13 01:23:14

leon_xinxin 发表于 2020-4-13 00:38
你好,可以这样检测自己的错误。这里是reverse()用错了,这个函数不返回值,只返回None

谢谢,明白了{:10_297:}

aiivu 发表于 2020-4-13 01:24:04

sunrise085 发表于 2020-4-13 00:59
reverse函数没有返回值,是将原字符串进行反转。
程序有两种修改方法,一种是使用python的内置方法reverse ...

感谢,搞懂了{:10_298:}

sunrise085 发表于 2020-4-13 01:59:13

aiivu 发表于 2020-4-13 01:24
感谢,搞懂了

那就给个最佳答案呗~~
页: [1]
查看完整版本: 新手求助