宇宙哥哥 发表于 2020-8-16 15:37:57

写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例...

本帖最后由 宇宙哥哥 于 2020-8-16 15:44 编辑

def Dec2Bin(dec):
    result = []
   
    if dec:
      result = Dec2Bin(dec//10)
      return result + list(dec%10)
    else:
      return result

print(Dec2Bin(12345))
为什么用这个方法不行 求大佬详解
正确方法这个
result = []
def get_digits(n):
      if n > 0:
                result.insert(0, n%10)
                get_digits(n//10)

get_digits(12345)
print(result)
我知道我就是想知道那个问题出在哪里 谢谢

zltzlt 发表于 2020-8-16 15:39:52

你上传错代码了吧


def Dec2Bin(dec):
    result = ''
   
    if dec:
      result = Dec2Bin(dec//10)
      return result + str(dec%10)
    else:
      return result

print(Dec2Bin(12345))

宇宙哥哥 发表于 2020-8-16 15:45:15

zltzlt 发表于 2020-8-16 15:39
你上传错代码了吧

好了那个result我改成[]了但是还是错误'int' object is not iterable

zltzlt 发表于 2020-8-16 15:45:57

宇宙哥哥 发表于 2020-8-16 15:45
好了那个result我改成[]了但是还是错误'int' object is not iterable

def Dec2Bin(dec):
    result = []
   
    if dec:
      result = Dec2Bin(dec//10)
      return result +
    else:
      return result

print(Dec2Bin(12345))

宇宙哥哥 发表于 2020-8-16 15:47:16

zltzlt 发表于 2020-8-16 15:45


谢谢谢谢{:9_240:}我懂了

宇宙哥哥 发表于 2020-8-16 16:17:46

zltzlt 发表于 2020-8-16 15:45


请问为什么list不行 str就可以

宇宙哥哥 发表于 2020-8-16 16:22:05

宇宙哥哥 发表于 2020-8-16 16:17
请问为什么list不行 str就可以

知道了知道复习了一下
页: [1]
查看完整版本: 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例...