Рубрики
Без рубрики

Python – сумма первых н натуральных чисел

Автор оригинала: Python Examples.

Найти сумму первых N натуральных чисел с программой Python

В этом руководстве мы найдем сумму первых N натуральных чисел. Мы объясним заявление о проблеме и исследовать разные способы решения этой проблемы.

Постановка задачи

Найти сумму первого n натуральных чисел.

1 + 2 + 3 + 4 . . + N

Пример: если сумма первых 6 натуральных чисел рассчитывается как ниже.

1 + 2 + 3 + 4 + 5 + 6
= 21

Пользователь предоставит N через консоль. Итак, вы должны прочитать N от консоли. И вы должны распечатать сумму на консоль.

Решение 1.

  1. Читать n от пользователя.
  2. отвечать
  3. Вы можете использовать цикл для итерации от 1 до N.
    1. В цикле для ответа добавьте номер, чтобы ответить.
  4. После того, как вы выходите из цикла, у вас есть сумма первых N натуральных чисел в вашем ответе.

Python Program, используя для петли

import sys

N = int(input("Enter a natural number: "))

answer=0

for i in range(0,N+1):
	answer = answer + i;

print(answer)

Python Program, используя во время цикла

import sys

N = int(input("Enter a natural number: "))

answer=0

i=1
while i<=N:
	answer = answer + i
	i=i+1

print(answer)

Выход

Решение 2.

Формула, чтобы найти сумму первого n натуральных чисел приведена ниже:

Sum of first N natural numbers = (N*(N+1))/2

Мы будем использовать эту формулу и написать программу Python для вычисления ответа.

Python Program с использованием формулы

import sys

N = int(input("Enter a natural number: "))

answer = (N*(N+1))/2
#answer will be float because of divide opeartion

#cast to int
answer = int(answer)

print(answer)

Выход

Enter a natural number: 5
15

Проверка ввода от пользователя

Во всех вышеуказанных программах мы не рассматривали случай, когда пользователь может обеспечить неправильный ввод.

Давайте проверим вход, чтобы быть естественным числом. Для этого мы должны проверить, является ли данный ввод номер, а затем, если оно больше нуля.

Программа Python с проверкой ввода

import sys

#read the input
N = input("Enter a natural number: ")

#assume everything is fine
validation = True

#if N is not numeric, validation fails
if not(N.isnumeric()):
	validation = False
else:
	N=int(N)
	#if n is less than 1, it is not a natural number
	if (N<1):
		validation = False

if validation:
	answer = (N*(N+1))/2
	answer = int(answer)
	print(answer)
else:
	print('Input is not a natural number. Try again.')

Эти случаи проверки предназначены только для демонстрационной цели. Вы можете подумать о некоторых дополнительных валидах и включить в программу Python.

Резюме

В этом руководстве примеров Python мы изучали разные способы написания программы Python, чтобы найти сумму первого n натуральных чисел.