В данной статье мы расскажем, как на Python вычисляется сумма и среднее значение первых n
натуральных чисел. Кроме того, мы разберем, как найти сумму чисел, введённых пользователем, и их среднее значение. Также мы рассмотрим встроенную функцию sum()
и вычисление среднего значения списка чисел.
Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
Содержание
- Сумма и среднее значение первых n натуральных чисел
- Сумма и среднее значение списка чисел
- Вычисление суммы и среднего значения при помощи математической формулы
- Сумма и среднее значение чисел, введенных пользователем
- Использование цикла while для вычисления суммы и среднего значения
- Практическая задача: сложение двух матриц в Python
Сумма и среднее значение первых n натуральных чисел
Алгоритм решения данной задачи:
- Принимаем значение числа
n
от пользователя. Для этого используется функцияinput()
. - Затем запустим цикл
for
до введенного числа, используя для этого функциюrange()
. На каждой итерации мы будем получать следующее число, пока цикл не достигнет последнего числа, то есть n. - Вычислим сумму всех этих чисел. Для этого на каждой итерации цикла будем добавлять число к переменной
sum
. - И наконец, после завершения цикла вычислим среднее значение по формуле:
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
.
Вот возможный алгоритм:
- Определяем число
n
- Запускаем цикл
while
до тех пор, покаn
будет больше 0 - В каждой итерации добавляем текущее значение
n
к переменнойsum
и уменьшаемn
на 1 - Вычисляем среднее значение, разделив сумму на
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”.