我有一个名为factors()的函数,它返回一个字典,以便这些值是素数因子,而这些值是作为因子出现的次数,例如:factors(100)
将导致:
^{pr2}$
这是因为2**2+5**2=100
好吧。所以现在我想让脚本精确地打印出来:100 = 2**2 + 5**2
我试过在结尾用这行代码:print('So ' + str(x) + ' = ' + **' + '.join(str(key) + '**' + factors.get(key) for key in factors)**)
代码如下:def factors(x):
'''
input: int
output: list (prime factors of x list)
'''
num = 2
res = x
factors = {}
howmany = 0
while res > 1:
if res%num == 0:
if num in factors:
factors[num] += 1
else:
factors[num] = 1
res /= num
howmany += 1
print('Found one! . With these are ' + str(howmany) + ' prime factors for the momment')
print(str(factors))
else:
num += 1
print('DONE!')
return factors
print('So ' + str(x) + ' = ' + ' + '.join(str(key) + '**' + factors.get(key) for key in factors))
谢谢大家。在
编辑:当我运行它时,它会给我一个没有问题的“返回系数”,但是没有最后一行的线索,它不会打印任何内容。在
注:对不起,如果格式不好,我是新手