鱼C论坛

 找回密码
 立即注册
查看: 1030|回复: 3

[已解决]回文联问题

[复制链接]
发表于 2020-6-24 16:16:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

我写的代码是这样的,但是这个代码跑起来没有正确答案。。。有大神告诉我是为什么嘛
下面的是跑起来之后的亚子。。。。



请输入一句话上海自来水来自海上
不是回文联
>>>
================ RESTART: C:/Users/ADMIN/Desktop/Python38/练习7.py ===============
请输入一句话abcdcba
不是回文联
>>>
================ RESTART: C:/Users/ADMIN/Desktop/Python38/练习7.py ===============
请输入一句话abcddcba
不是回文联
>>>
================ RESTART: C:/Users/ADMIN/Desktop/Python38/练习7.py ===============
请输入一句话123454321
不是回文联

最佳答案
2020-6-24 16:20:33
本帖最后由 Twilight6 于 2020-6-24 16:24 编辑



列表的绝大多数方法都是在原列表上进行改变的,而且没有返回值 所以 Python 默认返回了 None

导致你这里的 : list2 =list1.reverse()  赋值 会将一个 None 赋值给 list2 ,实际上这里已经对 list1 进行了颠倒列表的效果

而且,你本身代码的条件就有问题, list1 是个空列表,你怎么能拿去和之前的比较呢,肯定会一直不成立条件的

改成这样即可:
list0 = input('请输入一句话')
list1 =list(list0)
list1.reverse()
if list(list0) ==list1:
    print('是回文联')
else:
    print('不是回文联')

还有,建议不要将 Python 中的关键字什么的拿去当作变量名,你前面的代码因为把 list 拿去赋值了

会导致你后续想使用 list 函数时候报错,因为你重新赋值了 list 导致原先的list 的功能被覆盖了

你这题也可以用列表切片的方法,[::-1] 也是表示翻转列表,代码如下:
output = input('请输入一句话')
if output == output[::-1]:
    print('是回文联')
else:
    print('不是回文联')

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-24 16:20:33 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-24 16:24 编辑



列表的绝大多数方法都是在原列表上进行改变的,而且没有返回值 所以 Python 默认返回了 None

导致你这里的 : list2 =list1.reverse()  赋值 会将一个 None 赋值给 list2 ,实际上这里已经对 list1 进行了颠倒列表的效果

而且,你本身代码的条件就有问题, list1 是个空列表,你怎么能拿去和之前的比较呢,肯定会一直不成立条件的

改成这样即可:
list0 = input('请输入一句话')
list1 =list(list0)
list1.reverse()
if list(list0) ==list1:
    print('是回文联')
else:
    print('不是回文联')

还有,建议不要将 Python 中的关键字什么的拿去当作变量名,你前面的代码因为把 list 拿去赋值了

会导致你后续想使用 list 函数时候报错,因为你重新赋值了 list 导致原先的list 的功能被覆盖了

你这题也可以用列表切片的方法,[::-1] 也是表示翻转列表,代码如下:
output = input('请输入一句话')
if output == output[::-1]:
    print('是回文联')
else:
    print('不是回文联')

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-6-24 16:35:28 | 显示全部楼层
Twilight6 发表于 2020-6-24 16:20
列表的绝大多数方法都是在原列表上进行改变的,而且没有返回值 所以 Python 默认返回了 None

导致 ...

啊啊,谢谢啊,我合理的怀疑你就是小甲鱼本人吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-24 16:37:53 | 显示全部楼层
raorr 发表于 2020-6-24 16:35
啊啊,谢谢啊,我合理的怀疑你就是小甲鱼本人吧!

真的嘛 哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 12:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表