我需要写一个函数,将打印从三个输入参数最大的奇数。你知道吗
这是我的密码。你知道吗
def oddn(x,y,z):
odd_number_keeper = []
for item in x,y,z:
global odd_number_keeper
if item % 2==1:
odd_number_keeper = [item]
return max(odd_number_keeper)
else:
print 'No odd number is found'
我的密码好像坏了。你知道我怎么修改这个代码吗?你知道吗
Tags:
需要做一些改变:
迭代值
x
、y
和z
,并将奇数加到odd_number_keeper
。如果有任何数字,则返回奇数列表中元素的max()
。如果没有奇数,则打印消息并返回(没有结果,因为没有要返回的数字)。你知道吗您没有从列表中找到最大的奇数,而是找到第一个奇数并返回该奇数。问题在于-
首先需要将项附加到列表中,而不是将
odd_number_keeper
列表中只包含该项。你知道吗其次,return语句应该位于函数的末尾,而不是for循环的内部。你知道吗
你需要一个类似于-
您必须先过滤所有奇数,然后调用
max
:或者简而言之:
此外,如果要在出错时打印一些消息,这也不是一个好的做法:
相关问题 更多 >
编程相关推荐