回联文求助
def huiwenlian(Str):list1 = list(Str)
list2 = list1.reverse()
if list1 == list2:
print('是回联文!')
else:
print('不是回联文!')
Str = input('请输入一句话:')
huiwenlian(Str)
为什么这么不能判别回联文??? def huiwenlian(Str):
list1 = list(Str)
list2 = list1.copy()
list2.reverse()
if list1 == list2:
print('是回联文!')
else:
print('不是回联文!')
Str = input('请输入一句话:')
huiwenlian(Str)顺便一提,这叫回文联,不是回联文 reverse() 是在原有的列表上进行颠倒,而不会产生返回值,所以你赋值给 list2 = list1.reverse() 是没用的
list2 只会等于 None list1 = list(Str)
list2 = list1[:]
list1.reverse() 3楼的说法是对的
list2 = list1.reverse() 这句:list1.reverse()是把list1原地翻转了,但是reverse()这个函数是没有返回值的,所以把“它”赋给list2是无效的,会返回一个None,所以不能不是回文联,
最后:如果不清楚为什么不是回文联或者为什么是回文联,请在后边加上print()打印出内容查看
def huiwenlian(Str):
list1 = list(Str)
list2 = list1.reverse()
print(list1)
print(list2)
if list1 == list2:
print('是回联文!')
else:
print('不是回联文!')
Str = input('请输入一句话:')
huiwenlian(Str)
所以在后边“序列”这节课中讲的:reversed()和sortd()是重点,这两个是有返回值的
def huiwenlian(Str):
list1 = list(Str)
list2 = list(reversed(list1))
print(list1)
print(list2)
if list1 == list2:
print('是回联文!')
else:
print('不是回联文!')
Str = input('请输入一句话:')
huiwenlian(Str)
Twilight6 发表于 2020-5-29 15:37
reverse() 是在原有的列表上进行颠倒,而不会产生返回值,所以你赋值给 list2 = list1.reverse() 是没用的...
懂了懂了 谢谢大佬 永恒的蓝色梦想 发表于 2020-5-29 14:28
顺便一提,这叫回文联,不是回联文
{:5_109:}谢谢
页:
[1]