在python中创建两个函数

在python中创建两个函数,python,algorithm,Python,Algorithm,我有这些任务,我相信我在某种程度上做得很好 创建一个函数get_algorithm_result来实现下面的算法 1-获取数字L1、L2、L3…LN的列表作为参数 2-假设L1是最大的,最大=L1 3-从列表中选择下一个数字Li并执行以下操作 4-如果最大值小于Li 5-最大值=Li 6-如果Li是列表中的最后一个数字,则 7-返回最大值并出来 8-否则从步骤3开始重复相同的过程 创建一个函数prime_number,它执行以下操作 将整数和 如果值为素数或,则返回布尔值true 如果值不是素数

我有这些任务,我相信我在某种程度上做得很好

创建一个函数get_algorithm_result来实现下面的算法

1-获取数字L1、L2、L3…LN的列表作为参数 2-假设L1是最大的,最大=L1 3-从列表中选择下一个数字Li并执行以下操作 4-如果最大值小于Li 5-最大值=Li 6-如果Li是列表中的最后一个数字,则 7-返回最大值并出来 8-否则从步骤3开始重复相同的过程

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

所以我想出了下面的代码

def get_algorithm_result(my_list):
if not any(not type(y) is int for y in my_list):
    largest = 0
    for item in range(0,len(my_list)):
        if largest < my_list[item]:
            largest = my_list[item]
    return largest
else:

    return(my_list[-1])

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

get_algorithm_result([1, 78, 34, 12, 10, 3])     
get_algorithm_result(["apples", "oranges", "mangoes", "banana", "zoo"]) 
prime_number(1) 
prime_number(78) 
prime_number(11) 
但一旦我运行代码,它就会返回错误消息 测试规范失败

Your solution failed to pass all the tests

我的代码到底出了什么问题?

这应该对prime有帮助

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

这是解决方案。

 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 == 1:
   return False
 elif integer == 3:
   return True
 if integer > 3:
   for i in range(3, (integer-1)):
     if integer % i == 0:
       return False
  else:
    return True
def get_算法_结果(num_列表):
最大=num_列表[0]
对于范围(0,len(num_列表))中的项:
如果最大3:
对于范围(3,(整数-1))中的i:
如果整数%i==0:
返回错误
其他:
返回真值

您是否尝试过通过包含打印语句进行调试?在提出问题之前,尽可能缩小问题的范围,这将提高获得好答案的机会。你确定你知道质数是什么吗?您正在测试输入是奇数还是2。每个不能被2整除的数字都是素数?您的素数检查算法完全错误,您应该将该算法作为更简单的素数检查算法来实现。您的另一个几乎可以,但您没有按照其中非常清晰的说明进行操作,您应该执行
maxist=my_list[0]
从1开始,然后从1开始迭代,类型检查是不必要的,如果给它一个不可比的列表,让它抛出异常。
 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 == 1:
   return False
 elif integer == 3:
   return True
 if integer > 3:
   for i in range(3, (integer-1)):
     if integer % i == 0:
       return False
  else:
    return True