2

做 GCSE 计算和作为家庭作业,我需要做以下事情。我只是从编程开始,我一直在试图弄清楚如何去做,但无济于事。我相信我需要使用function但搜索“python 函数列表”等在我尝试时没有帮助。

你能告诉我如何:

要求用户输入“数字列表”
打印这些数字以供确认
将它们转换为变量?
将它们加在一起 ​​将
总和除以输入的数字 - 甚至没有关于如何做到这一点的丝毫线索!
最后,打印Average is和结果。

我目前所拥有的:

print("Welcome, this program will find the average of a list of numbers you enter.")

numbers = input("Enter your numbers, seperated by spaces.")

print("You have entered")

print(numbers)

print(numbers[0])
print(numbers[1])
print(numbers[2])
print(numbers[3])
print(numbers[4])
print(numbers[5])
print(numbers[6])

print(len(numbers))

print("The average of the above numbers is: ") #FURTHEST I'VE GOT
4

6 回答 6

16

你可以使用python的内置函数sum

  • sum将返回所有值的总和
  • len获取列表的长度

代码:

>>> list = [1,2,3,4]
>>> sum(list)
>>> 10
>>> len(list)
>>> 4
>>> avg = float(sum(list))/len(list)
>>> 2.5
>>>"""In pyton3 don't want to specify float"""
>>> 10 / 4
>>> 2.5 

使用 float 是因为在使用 python 2.x 时,因为:

  • int/int返回 int 值(即 2)
  • float/int返回浮点值(即 2.5)

在 Python 3.x 中:

  • int/int返回浮动
  • int//int返回整数
于 2015-09-04T14:31:11.460 回答
4

您想遍历列表,对所有数字求和,然后将总和除以列表中的元素数。您可以使用 for 循环来完成此操作。

average = 0
sum = 0    
for n in numbers:
    sum = sum + n
average = sum / len(numbers)

for 循环查看列表中的每个元素,然后将其添加到当前总和中。然后除以列表的长度(或列表中元素的数量)以找到平均值。

我建议在谷歌上搜索 python 参考以了解如何使用循环和条件等常见编程概念,以便在开始时感到舒适。网上有很多很棒的资源,你可以查一下。

祝你好运!

于 2013-04-27T22:53:31.900 回答
0

input()函数返回一个可能包含“数字列表”的字符串。您应该已经了解numbers[2]操作返回iterable的第三个元素。字符串可迭代的,但字符的可迭代,这不是您想要的 - 您想要平均输入字符串中的数字

因此,在达到 garyprice 显示的平均值之前,您必须做两件事:

  1. 将输入字符串转换为仅包含数字字符串的内容(您不希望数字之间有空格)
  2. 将每个数字字符串转换为整数

第 1 步的提示:您必须将输入字符串拆分为非空格子字符串。

第 2 步(将字符串转换为整数)应该很容易用 google 找到。

高温高压

于 2013-04-27T23:27:49.417 回答
0

简单的数学..

def average(n):
    result = 0
    for i in n:
      result += i
      ave_num = result / len(n)
    return ave_num

input -> [1,2,3,4,5]
output -> 3.0
于 2018-12-30T04:05:18.070 回答
0

如果你有numpy包裹:

In [16]: x = [1,2,3,4]    
    ...: import numpy
    ...: numpy.average(x)

Out[16]: 2.5
于 2018-10-31T21:08:23.337 回答
0

考虑一个数字列表。编写一个 Python 程序来执行以下操作:

  1. 计算列表中的数字总数
  2. 列表中所有数字的总和和平均值
  3. 计算列表中所有奇数的总和
  4. 计算列表中所有偶数的总和
  5. 在列表中找到最大的数字
  6. 在列表中找到最小的数字

显示具有适当标题的所有值。

listNo = [6,8,10,44,33,21,7,1,0,2]
c = 0
s = 0
avg = 0
sOdd = 0
sEven = 0
cOdd = 0
cEven = 0
for i in listNo :
    c += 1
    s = s+i
    avg = s/c
    if i % 2 == 0 :
        sEven = sEven + i
        cEven = cEven + 1
    else :
        sOdd = sOdd + i
        cOdd = cOdd + 1
print ("total number of numbers in the list  : ", c)
print("sum of all numbers : ",s)
print("average of all numbers : ",avg)
print("count odd numbers : ",cOdd)
print("sum of odd numbers : ",sOdd)
print("count even numbers : ",cEven)
print("sum of odd numbers : ",sEven)
print("largest number in the list : " ,max(listNo))
print("smallest number in the list  : ",min(listNo))
于 2021-04-14T06:10:30.030 回答