Python #如何过滤给定元组中的回文数并将其保存在元组中
如何过滤给定元组中的回文数并将其保存在元组中 我的代码:Python #如何过滤给定元组中的回文数并将其保存在元组中,python,Python,如何过滤给定元组中的回文数并将其保存在元组中 我的代码: w = (10,11,12,21,22,101,123,111,152) for i in w: if i[:]==i[-1:]: print(i) Error : TypeError Traceback (most recent call last) <ipython-input-143-b2b3cfdef377> in <mo
w = (10,11,12,21,22,101,123,111,152)
for i in w:
if i[:]==i[-1:]:
print(i)
Error : TypeError Traceback (most recent call last)
<ipython-input-143-b2b3cfdef377> in <module>
7
8 for i in w:
----> 9 if i[:]==i[-1:]:
10 print(i)
TypeError: 'int' object is not subscriptable
w=(10,11,12,21,221011123111152)
对于w中的i:
如果i[:]==i[-1:]:
印刷品(一)
错误:TypeError回溯(最近一次调用上次)
在里面
7.
8对于w中的i:
---->9如果i[:]==i[-1:]:
10印刷品(一)
TypeError:“int”对象不可下标
将整数转换为字符串。另外,您没有正确使用字符串的反向切片
w = (10,11,12,21,22,101,123,111,152)
for i in w:
if str(i) == str(i)[::-1]:
print(i)
输出:
11
22
101
111
(11, 22, 101, 111)
您还提到要将结果保存在元组中。请使用以下选项:
tuple(i for i in w if str(i) == str(i)[::-1])
输出:
11
22
101
111
(11, 22, 101, 111)
请尝试以下代码:
w = (10,11,12,21,22,101,123,111,152)
for i in w:
if str(i)[:]==str(i)[::-1]:
print(i)
不能对整数值使用索引。
i[:]
不起作用str(i)[:]
str(i)[:]
与str(i)
相同,str(i)[-1:][/code>只取数字的最后一位
如果你想把号码颠倒过来,你必须使用str(i)[::-1]
这应该很好:
w = tuple(i for i in w if str(i) == str(i)[::-1])
print(w)
检查是否更好地了解切片操作员:感谢您的帮助!(y) 谢谢你的回答!这就是我一直在寻找的。。切片一个整数值!谢谢