web-dev-qa-db-ja.com

数字のリストを取り、平均を返します

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
2
Lesley Hawkes

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 

python 2.xを使用する場合は、floatを使用します。理由は次のとおりです。

  • int/intはint値を返します(つまり2)
  • float/intはfloat値を返します(つまり2.5)

Python 3.x:

  • int/intリターンフロート
  • int//int return int
15
Mohammed Yasin

リストを反復処理し、すべての数値を合計してから、その合計をリスト内の要素の数で除算します。これを実現するには、forループを使用できます。

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

Forループは、リスト内の各要素を調べて、それを現在の合計に追加します。次に、リストの長さ(またはリスト内の要素の数)で割って、平均を求めます。

pythonリファレンスをグーグルで検索して、ループや条件などの一般的なプログラミングの概念を使用して、開始時に快適に感じる方法を見つけることをお勧めします。オンラインで調べることができる優れたリソースがたくさんあります。 。

幸運を!

4
Spencer Moran

numpyパッケージがある場合:

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

Out[16]: 2.5
0
seeiespi

input()関数は、「数値のリスト」を含む可能性のある文字列を返します。 numbers [2]演算は、iterableの3番目の要素を返すことを理解しておく必要があります。文字列is反復可能ですが、文字の反復可能であり、これは必要なものではありません-入力文字列のを平均化する必要があります。

したがって、garypriceで示される平均に到達する前に、2つのことを行う必要があります。

  1. 入力文字列を数値文字列のみを含むものに変換します(数値の間にスペースは必要ありません)
  2. 各数値文字列を整数に変換します

手順1のヒント:入力文字列をスペース以外の部分文字列に分割する必要があります。

ステップ2(文字列を整数に変換する)は、グーグルで簡単に見つけることができます。

HTH

0
rzzzwilson

簡単な数学..

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
0
Israel Manzo