取一个数字表并返回平均值

2024-03-29 05:47:37 发布

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

做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

Tags: ofthe函数用户列表is编程function
3条回答

您可以使用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返回int

函数返回一个可能包含“数字列表”的字符串。您应该知道numbers[2]操作返回iterable的第三个元素。字符串是一个iterable,但它是一个iterable,这不是您想要的-您想要平均输入字符串中的个数

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

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

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

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

高温高压

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

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

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

我建议用google搜索一个python引用,以了解如何使用常见的编程概念,如循环和条件,这样您在开始时会感到舒适。网上有很多很棒的资源,你可以查阅。

祝你好运!

相关问题 更多 >