我编写了一个Python函数来解决Dig Pow问题,其中的目标是找到一个数字k,使得n的每一个数字之和上升到一个特定的和增加的幂等于n*k。
以下是我的当前代码:
def dig_pow(n, p):
if n != int(n):
return -1
stockn = n
tab = []
while n > 0:
newn = n % 10
tab.append(newn)
n //= 10
tab = tab[::-1]
tabRes = []
for i in range(len(tab)):
tabRes.append(pow(tab[i], i + p))
sum_pow = sum(tabRes)
k = sum_pow // stockn
if sum_pow % stockn == 0:
return k
else:
return -1我想得到一些关于如何提高代码可读性和效率的建议。任何其他优化代码并使其运行更快的建议也将受到欢迎。
发布于 2023-05-11 03:47:45
不要将此代码合并到main。
tabRes = []佩普-8要求你拼写它,tab_res。我要求您解释变量的意图是什么,也许是一个# comment。
如果您对此实现有一些参考,您应该引用它。
目前还不清楚dig_pow(n, p)应该返回什么。
N的每一个数字之和上升到一个特定的和增加的幂等于n* k。
那个英语句子可能是个规范。代码似乎实现了其他一些东西。
如果没有单元测试或可理解的规范,则不清楚OP代码是否完成了其设计目标。
我不愿意委托或接受此代码库上的维护任务。
https://codereview.stackexchange.com/questions/284895
复制相似问题