我试图收集10个数字作为输入,将它们存储在一个列表中,然后显示这些数字的最大值、最小值、总数和平均值

2024-04-28 21:10:41 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我所拥有的,但它告诉我float或int是不可订阅的。在

我对执行任务的其他方法持开放态度,但输入必须存储在一个列表中,然后显示所需的值(最大值、最小值、平均值和总计)

def collect_numbers():
    numbers = [input("Enter any whole number: ") for i in range(10)]
    numbers2 = map(float, numbers)
    print("The smallest number is: ", min(data[numbers2] for data in numbers2))
    print("The largest number is: " , max(data[numbers2] for data in numbers2))
    print("The total of the numbers is: ", sum(data[numbers2] for data in numbers2))
    print("The average of the numbers is: ", (sum(data[numbers] for data in numbers2)/2))

collect_numbers()

编辑:在网上读了一些其他的东西,结合这里的答案,我换成使用这个:

^{pr2}$

在numbers2=map(int,numbers)方法中,当我试图在numbers2上运行任何类型的sum、max、min或其他任何类型时,都会遇到错误。给了我映射错误、不可下标、空关键字参数等

但它现在起作用了,谢谢你的迅速反应!在


Tags: the方法innumbermapfordatais
2条回答
  1. 你根本不需要numbers2。在

    numbers = [float(input("Enter any whole number: ")) for i in range(10)]
    
  2. 使用min函数可以找到列表的最小值

    min(numbers)
    
  3. 使用max函数可以找到列表的最大值,如下所示

    max(numbers)
    
  4. 使用sum函数可以找到列表值的总和

    sum(numbers)
    
  5. 使用sumlen可以找到列表的平均值

    sum(numbers)/len(numbers)
    

只需将列表传递给函数,而不是对列表的理解(无论如何我都搞不懂):

min(numbers2)
max(numbers2)

等等

而且,正如corn3lius正确指出的那样,除以2只对两个数有效。您应该除以列表的长度(使用len()函数)。在

相关问题 更多 >