代码由于超时而无法执行-如何对其进行优化

时间:2019-07-04 10:53:53

标签: python-3.x

我正在玩CodeWars,但由于超时而无法执行我的代码。

https://www.codewars.com/kata/playing-with-digits/train/python 有到kata的链接。

def dig_pow(n, p):

    x = 0

    for i in str(n):
        new_sum = int(str(n)[1]) ** (p+int(i)-1)

    while x <= new_sum/2:
        for x in range(int(round(new_sum/2))):
            if x * n == new_sum:
                return x

    return -1

由于超时,无法验证我的推理。

1 个答案:

答案 0 :(得分:0)

似乎您用while语句陷入了无限循环,因此在Codewars平台上触发了超时。

尝试简化此Kata的解决方案,此处无需使用while循环,请考虑您必须返回的值。

(提示:尝试使用%运算符检查一个值是否可以除以另一个而没有余数)。