鱼C论坛

 找回密码
 立即注册
查看: 3141|回复: 2

[已解决]求一串字符是不是回文联(如:上海自来水来自海上)

[复制链接]
发表于 2020-3-1 13:35:49 | 显示全部楼层 |阅读模式

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

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

x
  1. def hwl(x):
  2.     a = list(x)
  3.     b = a[:]
  4.     if b.reverse()== a:
  5.         print('True')
  6.     else :
  7.         print('false')
  8.     print(a)
  9.     print(b)
  10. x = input('请输入对联:')
  11. hwl(x)
复制代码

上面那个码哪里不对啊,明明思路对的啊,但是输入  上海自来水来自海上  显示的是false(我还在函数后面特地打印了a和b的值)
然后我改了下函数,变成下面那个:
  1. def hwl(x):
  2.     a = list(x)
  3.     b = a[:]
  4.     b.reverse()
  5.     if b == a:
  6.         print('True')
  7.     else :
  8.         print('false')
  9.     print(a)
  10.     print(b)
  11. x = input('请输入对联:')
  12. hwl(x)
复制代码

这样就对了,我是感觉没差别啊,为嘛啊,哪位大佬指点下
最佳答案
2020-3-1 13:45:06
b.reverse() 的返回值为 None。

  1. >>> a = [1, 2, 3]
  2. >>> print(a.reverse())
  3. None
复制代码


reverse() 只能作为一个单独的语句。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-1 13:45:06 | 显示全部楼层    本楼为最佳答案   
b.reverse() 的返回值为 None。

  1. >>> a = [1, 2, 3]
  2. >>> print(a.reverse())
  3. None
复制代码


reverse() 只能作为一个单独的语句。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 13:47:50 | 显示全部楼层
本帖最后由 jackz007 于 2020-3-1 13:50 编辑

        其实,判断回文联超级简单,用字符串切片就可以实现,s[:: -1] 就是 s 的倒序。
  1. #-*-coding:gbk-*-
  2. x = input('请输入对联:')
  3. if x == x[:: -1]:
  4.     print(x , '是回文联')
  5. else:
  6.     print(x , '不是回文联')
复制代码

        运行实况:
  1. C:\Bin>python hw.py
  2. 请输入对联:上海自来水来自海上
  3. 上海自来水来自海上 是回文联

  4. C:\Bin>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-1 16:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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