列表理解干扰了递归

时间:2020-05-08 22:39:29

标签: python python-3.x

我是一位自学成才的初学者,学习python作为我的第一语言。我想明确一点,我不是要直截了当的说“这就是答案,MUHAHAHAHA !!!”,我只需要一点微调就可以帮助我解决这个问题。现在,如果事实证明我所做的工作没有可行的工作方式...好吧,如果您能用砖头砸我,将不胜感激。

我正在研究编码战中的Kata,我认为这需要递归来解决。这是该网站引用的问题: “写一个函数,持久性,该函数接受一个正数num并返回其乘性持久性,这是必须将num中的数字相乘直到达到一位为止的次数。”

这是我开发的代码:

'''

from functools import lru_cache

@lru_cache(maxsize = 1000)
def new_list(num, num_2=0):
    new_num = [int(y) for y in str(num)]
    new_num2 = 1
    count = 0
    for numz in new_num:
        new_num2 *= numz
    if new_num2 <= 9:
        return count
    else:
        count += 1
        new_list(new_num2, count)

''' 我认为问题在于列表理解,但是我不确定该怎么做。 我已经用pdb进行了遍历,递归选择了新变量new_num2,但是除非输入的num是单个数字,否则程序会一直返回“ None”。

0 个答案:

没有答案