Python求助
编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自海上)这是小甲鱼第19讲的课后作业,谁来帮我解答一下? 你自己没有练习着写程序?
直接找人找人帮你写吗?
看别人写程序,你不会有什么提高的。
先自己写吧,遇到问题,解决不了,再来提问 sunrise085 发表于 2020-8-31 14:17
你自己没有练习着写程序?
直接找人找人帮你写吗?
看别人写程序,你不会有什么提高的。
。。。 首先得会编写函数的基本格式,先了解编写函数基本格式,其次就是思路,回文联就是正反读都一样的字符串,那么我们就会有一种思路,把给的字符串和逆序的字符串去对比,如果两个字符串相同,说明是回文串,不是的话说明不是回文串
你可以按照这样的思路去写程序 def func(s: str): return s[::-1] == s
其实就这一行代码,要弄明白自己先去复习切片
善用论坛的【搜索】功能找到自己想要的答案 _2_ 发表于 2020-8-31 15:45
其实就这一行代码,要弄明白自己先去复习切片
善用论坛的【搜索】功能找到自己想要的答案
???运行不了 象棋爱好者 发表于 2020-9-1 14:07
???运行不了
def func(s: str):
return s[::-1] == s
print(func("我试试我"))
True 象棋爱好者 发表于 2020-9-1 14:07
???运行不了
哦,这个函数你没有调用{:10_256:} _2_ 发表于 2020-9-1 20:09
哦,这个函数你没有调用
什么鬼啊?不是要run run module _2_ 发表于 2020-9-1 20:09
哦,这个函数你没有调用
怎么调用 象棋爱好者 发表于 2020-9-4 22:17
怎么调用
func("上海自来水来自海上") {:10_257:}你需要好好学一学。 你可以这样,把他做成一个列表,然后reverse以下赋值给另外一个列表,看他们相不相等。例如
list1 = ['上','水','居','民','居','水','上']
list2 = list(reversed(list1))
list1 == list2 _2_ 发表于 2020-9-5 08:16
哦!谢谢你 bonst 发表于 2020-9-5 11:19
你可以这样,把他做成一个列表,然后reverse以下赋值给另外一个列表,看他们相不相等。例如
这是要用函数 bonst 发表于 2020-9-5 11:19
你可以这样,把他做成一个列表,然后reverse以下赋值给另外一个列表,看他们相不相等。例如
而且是字符串 _2_ 发表于 2020-9-5 08:16
给你设置最佳答案 _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 != string:
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('上海自来水来自海上'))
象棋爱好者 发表于 2020-9-5 13:45
跟小甲鱼的答案有些不一样。他是:
def palindrome(string):
length = len(string)
没事,以后你会学到,
小甲鱼的这个是最基础的思路,
先判断字符串的长度(奇数和偶数有不同的判定方法),
比较第一个和最后一个,如果一样,就继续,不一样,就返回 False 象棋爱好者 发表于 2020-9-5 13:33
这是要用函数
你可以封装进一个函数里,小甲鱼的答案里也有这样的思路
def func(s: str) -> bool:
return s == list(s).reverse()
页:
[1]