鱼C论坛

 找回密码
 立即注册
查看: 2016|回复: 4

[已解决]19课课后作业!回文联问题!

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

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

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

x
本帖最后由 Twilight6 于 2020-3-29 15:08 编辑
def back(x = '上海自来水来自海上'):
    x = list(x);a = x.reverse()
    if a == x :
        print("是回文联!")
    else:
        print("不是回文联!")

1,这个代码为什么不能判定是不是回文连?

2,顺便问下下面这个代码为什么没有返回?
x = '1,2,3'
x = list(x)
a = x.reverse()
>>>a

>>>

#就成这样了是为什么???
最佳答案
2020-3-22 00:36:55
因为reverse函数是在原列表上进行的修改,没有返回值。
所以 执行完 a = x.reverse()后,a=None
你应该用a=reversed(x)
def back(x = '上海自来水来自海上'):
    x = list(x);a = list(reversed(x))
    if a == x :
        print("是回文联!")
    else:
        print("不是回文联!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-22 00:36:55 | 显示全部楼层    本楼为最佳答案   
因为reverse函数是在原列表上进行的修改,没有返回值。
所以 执行完 a = x.reverse()后,a=None
你应该用a=reversed(x)
def back(x = '上海自来水来自海上'):
    x = list(x);a = list(reversed(x))
    if a == x :
        print("是回文联!")
    else:
        print("不是回文联!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-22 00:58:51 | 显示全部楼层
        回文联可以用字符串切片直接判断
s = '上海自来水来自海上'
if s == s[:: -1] : print("是回文联!")
else : print("不是回文联!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-22 09:22:36 | 显示全部楼层
你的两个问题其实都出于一个原因:
Python的列表方法大部分都是没有返回值的,
所以,直接
x.reverse
就好
或者你就是想用另外一个值,就这么写:
a = x[::-1]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-24 19:02:53 | 显示全部楼层
考古
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 20:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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