快乐开心 发表于 2021-5-8 13:47:37

pyrhon

def get_digits(n):
    result = []
   
    while n:
      t = n % 10
      n = n //10
      result.append(t)
   
    s = result.reverse()
   
    return s
x = get_digits(12345)

print(x)

为什么运行结果是 None ?

抉择啊 发表于 2021-5-8 14:01:33

def get_digits(n):
        result = []
        while n :
                t = n % 10
                n = n // 10
                result.append(t)
               
        print(result.reverse())#返回为None,由此可知,该函数没有返回值,仅会倒序列表
        return result


x = get_digits(12345)
print(x)

qq1151985918 发表于 2021-5-8 14:01:51

result.reverse()

reverse()是在原列表操作,不产生返回值

直接 return result 就好了

uune 发表于 2021-5-8 14:08:16

s = result.reverse()    这句
result.reverse()    是直接反转列表,没有返回值。所以不能赋值

想反转有返回值用:reversed()这个函数(返回的不是列表),用list()转换为列表
示例: s = list(reversed(result))

或者用切片更简单:s = result[::-1]
页: [1]
查看完整版本: pyrhon