零基础学习python19讲课后题动动手第0题
根据小甲鱼老师的第二种判断是否为回联的方法,可以用list(string)或者tuple(string)得出正确判断,但为什么不能用str(string)呢 发详细代码 def palindrome(string):list1 = str(string)
list2 = reversed(list1)
if list1 == str(list2):
return '是回文联!'
else:
return '不是回文联!'
print(palindrome('上海自来水来自海上'))
小甲鱼老师那里用的是list() 因为字符串使用reversed
就变成列表了
你在str(列表)也变不回去
def federation():
if couplet == couplet[::-1]:
print("是回文联")
else:
print("不是回文联")
couplet = input("请输入一句话:")
federation() 本帖最后由 sunrise085 于 2020-9-26 22:45 编辑
那位大人 发表于 2020-9-26 22:35
小甲鱼老师那里用的是list()
因为reversed函数得到的返回值是一个可迭代对象,用list或tuple能够直接转为列表或元组,
但是str没有这个功能,无法将可迭代对象转为字符串,所以在if的条件这里str(list2)并不是原字符串反转的结果,你可以尝试打印一下str(list2) sunrise085 发表于 2020-9-26 22:44
因为reversed函数得到的返回值是一个可迭代对象,用list或tuple能够直接转为列表或元组,
但是str没有 ...
谢谢大佬{:5_109:} 不用list,直接用str也可以
def palindrome(string):
for i in range(len(string)//2):
if string==string[::-1]:
return '是回文联!'
else:
return '不是回文联!'
print(palindrome('上海自来水来自海上')) 疾风怪盗 发表于 2020-9-26 22:53
不用list,直接用str也可以
好的,谢谢{:5_109:}
页:
[1]