python 中 max(), min() 函数的正确使用

the correct use of max(), min() function in python

我正在努力为我的问题找到解决方案。我的 max() 和 min() 函数总是出错。

我正在尝试编写一个接受用户输入的代码,直到出现负值 inputted.Then 我需要对数字求和、最高、最低和平均值。

代码:

print("Please enter values(negative value to stop)")
g=1
flag=0

list = []

while not flag:
    val=float(input("Enter value number "+str(g)+ ": "))
    g+=1
    if val<0:
        flag=1
    else:
            sum+=val
print("Sum of "+str(g-2)+ " values: "+str(sum))




print("The highest number is: ",min(low_number))
print("The lowest number is: ",min(low_number))
print("The average number is: ",sum/(g-1))

low_number 为空,因此空列表上的 min() 将失败。

也许您想做这样的事情:

print("Please enter values(negative value to stop)")
flag=0
values=[]
while not flag:
    val=float(input("Enter value number : "))
    if val < 0:
        break
    values.append(val)

print("Sum of values: ",sum(values))

print("The highest number is: ",max(values))
print("The lowest number is: ",min(values))
print("The average number is: ",sum(values)/len(values))

我不是专家,但我认为这是因为您没有输入任何输入到列表中的值。没有您要附加给定值的位置,因此列表中没有要检查的数字。

我还没有测试过这个,但也许可以试试

 print("Please enter values(negative value to stop)")
 flag=0
 number = []
 while not flag:
     val=float(input("Enter value number :"))
     if val<0:
         flag=1
     else:
        number.append(val)
        
 print("Sum of "+str(len(number))+ " values: "sum(number))




 print("The highest number is: ",max(number))
 print("The lowest number is: ",min(number))
 print("The average number is: ",sum(number)/len(number))

编辑:我做了一些更改以确保一切正常:)

编辑 2:我已经测试过了,这段代码完全有效