В данной статье мы расскажем, как на 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».
