上帝之手913 发表于 2020-5-31 22:05:46

为何一直显示不是回文联

def j():
    sentence =
    sentence1 = sentence.reverse
    if sentence1 == sentence:
      print("是回文联")
    else:
      print("不是回文联")
j()

不知道无论输入什么都显示不是回文联,向大佬求个助

永恒的蓝色梦想 发表于 2020-5-31 22:09:22

def j():
    sentence = list(input("请输入一句话:"))
    sentence1 = sentence.copy()
    sentence1.reverse()
    if sentence1 == sentence:
      print("是回文联")
    else:
      print("不是回文联")

wuqramy 发表于 2020-5-31 22:13:10

本帖最后由 wuqramy 于 2020-5-31 22:15 编辑

让我们看看reversed后是个什么东西:
>>> a =
>>> b = reversed(a)
>>> b
<list_reverseiterator object at 0x0000000002D9B100>
<list_reverseiterator object at 0x0000000002D9B100>?!这是啥呀!(其实是个迭代器)
然后在list()一下
>>> b = list(b)
>>> b

这样一来,b就成为了我们需要的列表
你的问题的答案是同样的道理
正确代码:
def j():
    sentence = list(input("请输入一句话:"))
    sentence1 = sentence.copy()
    sentence1.reverse()
    if sentence1 == sentence:
      print("是回文联")
    else:
      print("不是回文联")
j()
页: [1]
查看完整版本: 为何一直显示不是回文联