求大佬看看这个代码哪里出错了,萌新要哭了
def huiwen(number):list1 = list(str(number))
list2 = list1.reverse()
for i in range(0 , len(str(number)) , 1):
if list1 != list2: #好像就是这一步有问题
return False
return True
huiwen(121) list.reverse是没有返回值的,它会操作原列表
你可以这样:
list1 = list(str(number))
list2 = list1.copy()
list2.reverse
当然,等你学到后面的时候你也可以用reversed或者切片
第三行错了
def huiwen(number):
list1 = list(str(number))
list2 = list(reversed(list1))
for i in range(0 , len(str(number)) , 1):
if list1 != list2: #好像就是这一步有问题
return False
return True
print(huiwen(121))
list.reverse()是方法,会将列表本身倒转
>>> X =
>>> X.reverse()
>>> X
内置函数reversed()是将列表返回一个迭代器
>>> X =
>>> a = list(reversed(X))
>>> print(a)
方法和函数不要搞混哦 reverse()方法, 不返回对象, 如果要list2 = 逆序list1,这样才行, list2= list1.cope(), list2.reverse() qiuyouzhi 发表于 2021-2-17 11:49
list.reverse是没有返回值的,它会操作原列表
你可以这样:
谢谢大佬 逃兵 发表于 2021-2-17 11:50
第三行错了
原来如此 HZX0229 发表于 2021-2-17 11:57
reverse()方法, 不返回对象, 如果要list2 = 逆序list1,这样才行, list2= list1.cope(), list2.reverse ...
万分感谢
list1.reverse()是在原列表操作,没有返回值
我们可以直接给 list2 赋值为 list1 的副本,然后对 list1 进行 list1.reverse() 操作
如果原列表副本 和 进行 list1.reverse() 后的 list1 相等则证明是 回文联
def huiwen(number):
list1 = list(str(number))
list2 = list1[:]
list1.reverse()
if list2 != list1:
return False
else:
return True
huiwen(121)
时宇羽然 发表于 2021-2-17 15:49
谢谢大佬
如果问题已解决,请设置【最佳答案】 qiuyouzhi 发表于 2021-2-17 16:13
如果问题已解决,请设置【最佳答案】
初来乍到,才知道有这一说{:10_277:} 多水水帖子,用户等级是不是可以提升? 水
页:
[1]