Сумма и среднее значение первых n чисел на Python

В данной статье мы расскажем, как на Python вычисляется сумма и среднее значение первых n натуральных чисел. Кроме того, мы разберем, как найти сумму чисел, введённых пользователем, и их среднее значение. Также мы рассмотрим встроенную функцию sum() и вычисление среднего значения списка чисел.

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU

Содержание

Сумма и среднее значение первых n натуральных чисел

Алгоритм решения данной задачи:

  1. Принимаем значение числа n от пользователя. Для этого используется функция input().
  2. Затем запустим цикл for до введенного числа, используя для этого функцию range(). На каждой итерации мы будем получать следующее число, пока цикл не достигнет последнего числа, то есть n.
  3. Вычислим сумму всех этих чисел. Для этого на каждой итерации цикла будем добавлять число к переменной sum.
  4. И наконец, после завершения цикла вычислим среднее значение по формуле: average = sum / n, где n – это число, введенное пользователем.

Код программы:

n = int(input("Enter number"))
sum = 0
# Цикл от 1 до n
for num in range(1, n + 1, 1):
    sum = sum + num
print("Sum of first ", n, "numbers is: ", sum)
average = sum / n
print("Average of ", n, "numbers is: ", average)

Результат:

Enter number 10
Sum of first  10 numbers is:  55
Average of  10 numbers is:  5.5

Встроенная функция sum()

Для вычисления суммы элементов итерируемых объектов, таких как список или функция range(), можно также воспользоваться встроенной функцией sum().

n = 10
res = sum(range(1, n + 1))
print("Sum of first ", n, "numbers is: ", res)

# Результат:
# Sum of first  10 numbers is:  55

Сумма и среднее значение списка чисел

Для вычисления суммы всех чисел списка и их среднего значения нужно сделать следующее:

  • Проитерировать список при помощи цикла for и прибавить каждое число к переменной sum.
  • Для вычисления среднего значения разделить полученную сумму на число элементов списка (его длину, вычисляемую при помощи встроенной функции len()).
# Список со значениями int и float
num_list = [10, 20.5, 30, 45.5, 50]

# Первый подход, с использованием встроенной функции sum
res = sum(num_list)
avg = res / len(num_list)
print("sum is: ", res, "Average is: ", avg)

# Результат:
# sum is:  156.0 Average is:  31.2


# Второй подход, с использованием цикла for
res1 = 0
for num in num_list:
    res1 += num
avg1 = res1 / len(num_list)
print("sum is: ", res1, "Average is: ", avg1)

# Результат:
# sum is:  156.0 Average is:  31.2

Вычисление суммы и среднего значения при помощи математической формулы

В приведенных выше программах мы вычисляли сумму и среднее при помощи циклов. Теперь давайте посмотрим, как рассчитать сумму и среднее значение напрямую, используя математическую формулу суммы арифметической прогрессии.

Пусть n это последнее число нашей последовательности первых n натуральных чисел. Тогда:

  • сумма n натуральных чисел будет равна n * (n+1) / 2
  • а их среднее значение – (n * (n+1) / 2) / n

Пример:

n = 20
# Формула для вычисления суммы
res = n * (n + 1) / 2
print('sum of first', n, 'numbers is:', res)

# Результат: 
# sum of first 20 numbers is: 210.0


# Формула для вычисления среднего
average = (n * (n + 1) / 2) / n
print('Average of first', n, 'numbers is:', average)

# Результат:
# Average of 20 numbers is: 10.5

Сумма и средние значение нескольких чисел, введённых пользователем

А вот как можно рассчитать сумму и среднее значение нескольких введённых пользователем чисел:

input_string = input('Enter numbers separated by space ')
print("\n")
# Преобразуем введённые числа в список
numbers = input_string.split()

# Приводим числа к типу int
for i in range(len(numbers)):
    numbers[i] = int(numbers[i])

# Вычисляем сумму и среднее значение
print("Sum = ", sum(numbers))
print("Average = ", sum(numbers) / len(numbers))

Результат:

Enter numbers separated by space 10 20 30 40 50

Sum =  150
Average =  30.0

Использование цикла while для вычисления суммы и среднего значения

Для вычисления суммы первых n чисел и их среднего значения также можно использовать цикл while.

Вот возможный алгоритм:

  1. Определяем число n
  2. Запускаем цикл while до тех пор, пока n будет больше 0
  3. В каждой итерации добавляем текущее значение n к переменной sum и уменьшаем n на 1
  4. Вычисляем среднее значение, разделив сумму на n
n = 20
total_numbers = n
sum = 0
while n >= 0:
    sum += n
    n -= 1
print("sum =", sum)

# Результат
# sum = 210


average = sum / total_numbers
print("Average = ", average)

# Результат:
# Average =  10.5

Практическая задача: сложение двух матриц в Python

matrixOne = [[6,9,11],
    [2 ,3,8]]

matrixTwo = [[15,18,11],
    [26,16,19]]

# Инициализируем нулями матрицу, в которую будет сохранен результат
result = [[0,0,0],
         [0,0,0]]

Решение данной задачи:

matrixOne = [[6,9,11],
    [2 ,3,8]]

matrixTwo = [[15,18,11],
    [26,16,19]]

result = [[0,0,0],
         [0,0,0]]

# Сначала перебираем строки
for i in range(len(matrixOne)):
   # Затем перебираем столбцы
   for j in range(len(matrixOne[0])):
       result[i][j] = matrixOne[i][j] + matrixTwo[i][j]
print("Addition of two Matrix In Python")
for res in result:
   print(*res)

Результат:

Addition of two Matrix In Python
21 27 22
28 19 27

Перевод статьи “Python program to calculate sum and average of first n natural numbers”.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *