我如何在下面实现这些算法

时间:2016-01-06 08:52:18

标签: python algorithm

Alogrithm 1:

  

获取数字列表L1,L2,L3 .... LN作为参数
  假设L1是最大的,最大= L1
  从列表中取下一个数字Li并执行以下操作   如果最大值小于李
  最大=李
  如果李是列表中的最后一个号码,那么
  返回最大并出来
  否则从步骤3开始重复相同的过程

算法2:

  

创建一个函数prime_number,执行以下操作   取参数为整数和
  如果值为prime或
,则返回布尔值true   如果值不是素数,则返回布尔值false

到目前为止,我的代码是:

def get_algorithm_result(num_list):    
    largest =num_list[0]        
    for item in range(0,len(num_list)):    
        if largest < num_list[item]:                
            largest = num_list[item]    
    return largest

def prime_number(integer):    
    if integer%2==0:
        return False
    else:
        return True

执行代码后我得到了

"Test Spec Failed

Your solution failed to pass all the tests" 

我哪里错了?

3 个答案:

答案 0 :(得分:0)

你的意思是第一个找到最大的数字?然后你应该使用max()之类的

list = [1,2,4,5,3]
print max(list)
>>> 5

这应该有助于第二个:

def prime_number(n):

    if n > 1:
       for x in range(2,n):
           if (n % x) == 0:
               return False
               break
       else:
           return True

如果一个数字是素数,则因子只有1和它本身。如果从2到该数字有任何其他因素,则它不是素数。当n除以x时,n%x找到余数。如果x是n的因子,则n%x的余数为0.

答案 1 :(得分:0)

def get_algorithm_result(numbers):
  largest = numbers[0]
  for i in numbers:
    if largest < i:
      largest = i
return largest

def prime_number(number):
  if number > 1:
    for i in range(2, number):
      if (number % i) == 0:
        return False
      else:
        return True
  else:
    return False

答案 2 :(得分:0)

def get_algorithm_result(numb):
  largest = numb[0]
  for Li in numb:
    if largest < Li:
      largest = Li
    if Li == numb[-1]:
      return largest
    else:
      continue

def prime_number(primes):
  if primes > 1:
    for i in range(3, primes):
      if (primes % i) == 0:
        return False
      else:
        return True
  else:
    return False