Primes in numbers _codwars

Primes in numbers _codwars
欢迎大佬解答。
代码测试pass, 但是报:
STDERR
Traceback (most recent call last):
File “main.py”, line 4, in
test.assert_equals(primeFactors(7919), “(7919)”)
File “/home/codewarrior/solution.py”, line 14, in primeFactors
fun(dict, n)
File “/home/codewarrior/solution.py”, line 5, in fun
dict[x] += 1
KeyError: 7919

我的代码:

def fun(dict, n):
    for x in range(2,n+1):
        if n % x == 0:
            #try:
                dict[x] += 1
                return fun(dict , n // x)
            #except KeyError as e:
                print(e)
def primeFactors(n):
    dict = {}
    for i in range(2,n):
        if n % i == 0:
            dict[i] = 0
    fun(dict, n)
    #print(dict)
    s1 = ""
    for j in dict:
        if dict[j] > 1:
            # print(x)
            # print(type(x))
            s1 += '(%s**%s)' % (j, dict[j])
        elif dict[j] == 1:
            s1 += '(%s)' % (j)
    #print(s1)
    return s1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值