判断回文联的问题
def duilian(string):duilian1 = []
for each in string:
duilian1.append(each)
if duilian1 == duilian1.reverse():
print('回文联')
else:
print('非回文联')
string = input('输入一句话:')
duilian(string)
我的思路是判断输入的内容如果倒过来与之前一致就是回文联,因为只有list可以进行.reverse(),所以我先把输入的每个字符串都放到一个list中去,然后倒过来判断 但是我发现程序无法判断,永远都会判断是“非回文联”,所以我在试代码的过程中发现是if duilian1 == duilian1.reverse(): 这里出错了 于是我单独试了一下list与list.reverse()的判断发现无论list中是什么 list == list.reverse()都会报false 比如list1 = , 那list1.reverse()就等于, 但是如果输入list1 = list1.reverse() 结果就会显示false 这里为什么不等于true啊,求个大佬讲解一下 reverse()没有返回值,这么写:
def duilian(string):
duilian1 = []
duilian2 = []
for each in string:
duilian1.append(each)
duilian2.append(each)
duilian2.reverse()
if duilian1 == duilian2:
print('回文联')
else:
print('非回文联')
string = input('输入一句话:')
duilian(string)
楼上正解,reverse()仅对列表进行一个逆序的操作。如果是其他语言你的程序会报错。但python中语法正确,只是由于list.reverse()=null,比较结果永远是false,达不成你的预期 wuqramy 发表于 2020-4-12 17:33
reverse()没有返回值,这么写:
谢谢大佬指点 倒戈卸甲 发表于 2020-4-12 17:40
楼上正解,reverse()仅对列表进行一个逆序的操作。如果是其他语言你的程序会报错。但python中语法正确,只 ...
谢谢大佬
页:
[1]