问题:编写一个程序,首先定义函数minFromList(list)和maxFromList(list)。程序应初始化一个空列表,然后提示用户输入一个整数并继续提示输入整数,将每个整数添加到列表中,直到用户输入一个句点字符。程序应该使用整数列表作为参数调用minFromList和maxFromList,并打印函数调用返回的结果。
我无法弄清楚如何分别从每个函数返回最小值和最大值。现在我添加了额外的代码,所以我完全迷失了。一切都有帮助!谢谢!
到目前为止我所拥有的:
def minFromList(list)
texts = []
while (text != -1):
texts.append(text)
high = max(texts)
return texts
def maxFromList(list)
texts []
while (text != -1):
texts.append(text)
low = min(texts)
return texts
text = raw_input("Enter an integer (period to end): ")
list = []
while text != '.':
textInt = int(text)
list.append(textInt)
text = raw_input("Enter an integer (period to end): ")
print "The lowest number entered was: " , minFromList(list)
print "The highest number entered was: " , maxFromList(list)
答案 0 :(得分:1)
我认为可能让你困惑的作业部分是关于初始化一个空列表以及在哪里做。收集数据的主体很好,并且应该做到了。但是你最后用你的max和min函数做了太多。同样令人误解的是,分配是它建议你为这些函数编写一个自定义例程,即使python中存在max()和min()并返回你需要的东西。
如果您需要编写自己的最大值和最小值,并且不允许使用内置函数,那么这是另一个故事。此时,您需要遍历列表中的每个值并跟踪最大值或最小值。然后返回最终值。
如果没有直接给出太多具体答案,以下是您可能需要的部分个别例子......
# looping over the items in a list
value = 1
for item in aList:
if item == value:
print "value is 1!"
# basic function with arguments and a return value
def aFunc(start):
end = start + 1
return end
print aFunc(1)
# result: 2
# some useful comparison operators
print 1 > 2 # False
print 2 > 1 # True
这应该是足够的一般信息,您可以拼凑自定义的最小和最大功能。虽然有一些更先进和有效的方法来做min和max,但我认为首先,对列表进行简单的for循环是最简单的。