【问题标题】:How do I make the function return prime factors of a number instead of string [duplicate]如何使函数返回数字而不是字符串的素数[重复]
【发布时间】:2022-08-17 12:59:21
【问题描述】:

how is the same code working? click here问题该问题要求创建一个函数,该函数返回给定数字的素因子,作为输出给出问题它返回字符串 \"Done\" 而不是给定数字的素数我尝试过的我已经尝试定义函数并且还提供了我编写的代码

代码

 def prime_factors(number):
      factor = 2
      while number <= factor:
        if number % factor == 0:
          print(factor)
          number = number / factor
        else:
          factor += 1
      return \"Done\"
    
    prime_factors(100)
  • \"它返回字符串 \"Done\"\"- 这就是你要求它做的,你认为return \"Done\" 在做什么?

标签: python


【解决方案1】:

当您找到一个主要因素时,将其添加到一个列表中,然后返回该列表(一旦您完成并找到了您需要查找的所有内容)。

primes = []

... (your code)
   if you found a prime factor:
     primes.append(prime_factor)

... (more of your code)
return primes

【讨论】:

    【解决方案2】:

    当您找到一个主要因素时,将其附加到结果列表中。

    def prime_factors(number):
        factor = 2
        factors = []
        while factor * factor <= number:
            while number % factor == 0:
                factors.append(factor)
                number //= factor
            factor += 1
        if number > 2: factors.append(number)
        return factors
        
    print(prime_factors(100))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      • 2020-07-02
      相关资源
      最近更新 更多