鱼C论坛

 找回密码
 立即注册
查看: 1919|回复: 19

[已解决]Python求助

[复制链接]
发表于 2020-8-31 14:14:54 | 显示全部楼层 |阅读模式

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

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

x
编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自海上)

这是小甲鱼第19讲的课后作业,谁来帮我解答一下?
最佳答案
2020-8-31 15:45:27
def func(s: str): return s[::-1] == s
其实就这一行代码,要弄明白自己先去复习切片
善用论坛的【搜索】功能找到自己想要的答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-31 14:17:36 | 显示全部楼层
你自己没有练习着写程序?
直接找人找人帮你写吗?
看别人写程序,你不会有什么提高的。
先自己写吧,遇到问题,解决不了,再来提问
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-31 14:18:51 | 显示全部楼层
sunrise085 发表于 2020-8-31 14:17
你自己没有练习着写程序?
直接找人找人帮你写吗?
看别人写程序,你不会有什么提高的。

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

使用道具 举报

发表于 2020-8-31 14:29:56 | 显示全部楼层
首先得会编写函数的基本格式,先了解编写函数基本格式,其次就是思路,回文联就是正反读都一样的字符串,那么我们就会有一种思路,把给的字符串和逆序的字符串去对比,如果两个字符串相同,说明是回文串,不是的话说明不是回文串
你可以按照这样的思路去写程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-31 15:45:27 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
def func(s: str): return s[::-1] == s
其实就这一行代码,要弄明白自己先去复习切片
善用论坛的【搜索】功能找到自己想要的答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-1 14:07:21 | 显示全部楼层
_2_ 发表于 2020-8-31 15:45
其实就这一行代码,要弄明白自己先去复习切片
善用论坛的【搜索】功能找到自己想要的答案

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

使用道具 举报

发表于 2020-9-1 16:03:30 | 显示全部楼层
def func(s: str): 
    return s[::-1] == s

print(func("我试试我"))

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

使用道具 举报

发表于 2020-9-1 20:09:04 From FishC Mobile | 显示全部楼层
象棋爱好者 发表于 2020-9-1 14:07
???运行不了

哦,这个函数你没有调用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 22:16:43 | 显示全部楼层
_2_ 发表于 2020-9-1 20:09
哦,这个函数你没有调用

什么鬼啊?不是要run run module
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-4 22:17:14 | 显示全部楼层
_2_ 发表于 2020-9-1 20:09
哦,这个函数你没有调用

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

使用道具 举报

发表于 2020-9-5 08:16:46 From FishC Mobile | 显示全部楼层
象棋爱好者 发表于 2020-9-4 22:17
怎么调用
func("上海自来水来自海上")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-5 09:24:56 | 显示全部楼层
你需要好好学一学。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-5 11:19:44 | 显示全部楼层
你可以这样,把他做成一个列表,然后reverse以下赋值给另外一个列表,看他们相不相等。例如
list1 = ['上','水','居','民','居','水','上']
list2 = list(reversed(list1))
list1 == list2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-5 13:32:29 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-5 13:33:19 | 显示全部楼层
bonst 发表于 2020-9-5 11:19
你可以这样,把他做成一个列表,然后reverse以下赋值给另外一个列表,看他们相不相等。例如

这是要用函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-5 13:40:52 | 显示全部楼层
bonst 发表于 2020-9-5 11:19
你可以这样,把他做成一个列表,然后reverse以下赋值给另外一个列表,看他们相不相等。例如

而且是字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-5 13:41:46 | 显示全部楼层

给你设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-5 13:45:11 | 显示全部楼层
_2_ 发表于 2020-8-31 15:45
其实就这一行代码,要弄明白自己先去复习切片
善用论坛的【搜索】功能找到自己想要的答案

跟小甲鱼的答案有些不一样。他是:
def palindrome(string):
    length = len(string)
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            flag = 0
        last -= 1

    if flag == 1:
        return 1
    else:
        return 0

string = input('请输入一句话:')
if palindrome(string) == 1:
    print('是回文联!')
else:
    print('不是回文联!')
或:
def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)
    if list1 == list(list2):
        return '是回文联!'
    else:
        return '不是回文联!'
print(palindrome('上海自来水来自海上'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-5 19:15:55 From FishC Mobile | 显示全部楼层
象棋爱好者 发表于 2020-9-5 13:45
跟小甲鱼的答案有些不一样。他是:
def palindrome(string):
    length = len(string)

没事,以后你会学到,
小甲鱼的这个是最基础的思路,
先判断字符串的长度(奇数和偶数有不同的判定方法),
比较第一个和最后一个,如果一样,就继续,不一样,就返回 False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-5 19:19:40 From FishC Mobile | 显示全部楼层
象棋爱好者 发表于 2020-9-5 13:33
这是要用函数

你可以封装进一个函数里,小甲鱼的答案里也有这样的思路
def func(s: str) -> bool:
    return s == list(s).reverse()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 20:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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