在python中创建两个函数
我有这些任务,我相信我在某种程度上做得很好 创建一个函数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 所以我想出了下面的代码在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 如果值不是素数
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