想求助关于一个通过遍历一定范围内的数来找到自己想要的数的问题。(以回文数为例)

##下列是一段自己编写的代码

```python
def collect2(s,n = None):
    if n is None:n = []
    if len(s) > 0:
        n.append(int(s[0]))
    for i in range(1,2000):
        if i == i[::-1]:
            return n

错误我看不懂,请指教我的问题出在哪,如何实现通过遍历在一定范围将自己想要的数返回一个list。

讨论数量: 1
Jason990420

怎么看, 这代码都很不对

找寻在 0 ~ number 内所有的回文数, 范例如下

def collect1(number):
    lst = []
    for i in range(number+1):
        text = str(i)
        if text == text[::-1]:
            lst.append(i)
    return lst

def collect2(number):
    return [i for i in range(number+1) if str(i) == str(i)[::-1]]

print(collect1(200))
print(collect2(200))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]
4年前 评论
klay (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!