【问题标题】:Python Min-Max Function - List as argument to return min and max elementPython Min-Max 函数 - 列表作为返回最小和最大元素的参数
【发布时间】:2012-03-07 12:42:48
【问题描述】:

问题:编写一个程序,首先定义函数 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) 

【问题讨论】:

  • 只需使用min(list)max(list),它们会按预期工作。
  • 为了防止潜在的混淆,避免在 Python 中使用名称 list,因为它是一个内置类型。

标签: python max min


【解决方案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

这应该是您将自定义最小和最大函数拼凑在一起的足够一般信息。虽然有一些更高级和更有效的方法来计算最小值和最大值,但我认为首先,在列表上进行简单的 for 循环将是最简单的。

【讨论】:

  • 感谢您的帮助。我需要编写自己的最小值/最大值,而不仅仅是使用内置函数。你能给我一个例子,说明如何遍历每个值来跟踪最大或最小吗?我不确定我是否理解。
  • 添加了一些基本的个人示例。您应该能够从该信息中获取它:-)
  • 点击绿色复选标记以表达您的感激之情 :-) 祝您工作顺利!
  • "我需要编写自己的最小值/最大值,而不仅仅是使用内置函数。"对于认为以这种方式学习任何东西的老师,我真的没有什么好说的。
  • 我实际上不确定我是怎么想的。我可以理解自定义 max 函数是如何将其分解为更多基础的。也可能是希望确保他们不适合内置插件和标准库并且永远不会开发......我不知道哈哈。
猜你喜欢
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 2013-06-25
  • 2021-09-21
  • 2020-06-07
  • 2017-08-24
相关资源
最近更新 更多