如何找到可迭代的最大值? [关闭]

Posted

技术标签:

【中文标题】如何找到可迭代的最大值? [关闭]【英文标题】:How to find the maximum value of an iterable? [closed] 【发布时间】:2021-01-14 10:40:13 【问题描述】:

在我看来,除了max 函数之外,所有这些代码都在工作,不知道如何解决这个问题..

提示是:

编写一个重复读取数字直到用户输入“完成”的程序。 输入“完成”后,打印出总数、计数、平均值和最大值。

这是我的代码:

total = 0
count = 0
average = 0
maximum = 0

while True:
    x = raw_input("Enter A Number: ")
    try:
        num = int(x)
        total += num
        count += 1
        average = total/count
        maximum = max(x)

    except ValueError:
        print("Total: ", total)
        print("Count: ", count)
        print("Average: ", average)
        print("Maximum: ", maximum)
        break

【问题讨论】:

你传递的迭代是一个字符串,所以它只会返回最高的字符值。你需要把这个maximum = max(x)改成这个maximum = max(maximum, num) How to debug small programs. 你还没说是什么问题。 【参考方案1】:

您应该使用当前的maximum 和新号码拨打max

maximum = max(maximum, num)

【讨论】:

【参考方案2】:

使用三元运算符

maximum = x if maximum < x else maximum

【讨论】:

以上是关于如何找到可迭代的最大值? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

求助:如何修改迭代算法的最大迭代次数

如何在Java中找到数组中的最大数? [关闭]

我想在 for 循环中找到最小值/最大值 [关闭]

max()如何使用d.get?

比较两个列表并选择最大值和最小值。 (float 不是可迭代对象)

JAVA用迭代的思想,不遍历,找出数组中的最大值