在循环中查找最大值

时间:2017-02-10 02:01:42

标签: python loops if-statement

这只是一个介绍性的类代码,我想知道如何找到所有next_value变量的最大值,并将其与first_value进行比较以打印最大值。我的if语句很接近,但我不确定如何解决它

maximum = 0.0
value = int(input("Enter the number of values to process: "))

first_value = float(input("First value: "))
next_value_total = 0


for i in range(1, value):
    next_value = float(input("Next value: "))
    next_value_total += next_value
    if first_value <= next_value:
        maximum = next_value
    elif first_value > next_value:
        maximum = first_value

total = next_value_total + first_value
print("The total is {:.1f}".format(total))
print("The maximum is {:.1f}".format(maximum))

3 个答案:

答案 0 :(得分:1)

我会尽量让答案尽可能简洁明了:

value = int(input("Enter the number of values to process: "))

first_value = float(input("First value: "))

total = first_value
maximum = first_value

for i in range(1, value):
    next_value = float(input("Next value: "))
    total += next_value
    if maximum <= next_value:
        maximum = next_value

print("The total is {:.1f}".format(total))
print("The maximum is {:.1f}".format(maximum))

答案 1 :(得分:0)

我只是将值放在一个列表中,然后得到总和和最大值,如下所示:

&#xA;&#xA;
  value = int(输入(“输入”要处理的值的数量:“))&#xA; values = []&#xA;&#xA;对于范围内的i(值):&#xA; next_value = float(输入(“下一个值:”))&#xA; values.append(next_value)&#xA;&#xA; print(“总数为{:.1f}”。格式(sum(values)))&#xA; print(“最大值为{:.1f} “.format(max(values)))&#xA;  
&#xA;&#xA;

但是,如果你想保持相同的结构:

&# xA;&#xA;
  maximum = 0.0&#xA; value = int(输入(“输入要处理的值的数量:”))&#xA;&#xA; first_value = float(输入(“第一个值:”))&#xA; next_value_total = 0&#xA; maximum = first_value#注意:在这里初始化最大值&#xA;&#xA;对于范围内的i(1,值):&#xA; next_value = float(输入(“下一个值:”))&#xA; next_value_total + = next_value&#xA;如果next_value&gt;最大:&#XA; maximum = next_value&#xA;&#xA; total = next_value_total + first_value&#xA; print(“总数为{:.1f}”。格式(总计))&#xA; print(“最大值为{:.1f }。“format(maximum)”&#xA;  
&#xA;&#xA;

如果next_value&gt;您还可以替换 maximum:maximum = next_value 只有 maximum = max(maximum,next_value)

&#xA;

答案 2 :(得分:0)

如果您使用的是列表,则可以分别使用sum()max()

num_values = int(input("Enter the number of values to process: "))

values = []
for i in range(1, num_values + 1):
  value = float(input("Please enter value %d: " % i))
  values.append(value)

print("The total is {:.1f}".format(sum(values)))
print("The maximum is {:.1f}".format(max(values)))

使用示例:

Enter the number of values to process:  3
Please enter value 1:  4.0
Please enter value 2:  5.6
Please enter value 3:  7.2324234
The total is 16.8
The maximum is 7.2

试试here!