как да добавя числа в python


Отговор 1:

Нека започнем с няколко глупости.

Не искаш сумата от тези числа. Искате пример за изходен код в Python, който може да изчисли тази сума (и, вероятно, да предостави резултата като изход).

Също така сумата от всички числа между 1 и 50 е безкрайна. Сумата от всички цели числа в този диапазон е малко по-проследима.

Сега ... преминавайки към въпроса: това е тривиално упражнение по програмиране. Не бива да се налага да публикувате на публичен форум, като потенциално отнема времето и усилията на милиони участници във форума с нещо, което трябва да можете да разберете само с малко усилия. Така че е разумно за нас да зададем въпроса, да поставим под съмнение вашите намерения и дори да ви упрекнем за това.

Опитвате ли се да научите Python? Използвали ли сте някога език за програмиране? Опитахте ли търсене:

Google: python сума от цели числа в обхват

?

Ето това е простият пример: python -c "print (sum (range (1,51)))"

Това е пълна команда, тъй като тя ще бъде въведена (или поставена) в командния ред (Unix, Linux или MacOS черупка, команден ред MS-Windows и т.н.).

Той извиква функцията print () (Python 3.x). Ако използвате по-ранни версии на Python, това технически извиква изявлението за печат с израз, който просто се съдържа в чужд, макар и безобиден набор от скоби.

Тази функция print () (или оператор) се извиква върху резултатите от вградената функция sum (). Това е функция, която итерира над поредица от числа (или всякакъв вид итерируеми, които дават числови данни).

Това извикване на sum () обработва стойностите, получени от извикване на вградената функция range (). Функцията range () в различните версии на Python или връща списък (последователност) от целочислени стойности, или дава целите числа в някакъв диапазон (и по желание чрез някаква стъпкова стойност).

Предоставям стартовите и спиращите стойности на функцията range (). Би било безвредно да го извикате с обхват (51) ... пропускайки първия аргумент, който по подразбиране е нула. Това е безвредно при извикване на sum (), защото, разбира се, нула е адитивната идентичност; можете да го добавите колкото пъти искате към сума, без да променяте резултата. Наричам го с аргумент за спиране от 51, защото диапазоните на Python са включени от началото, но изключват крайната си точка ... те преминават от някакъв номер, включително него, до (но не включително) друг номер).

Има причина за цялото това допълнително многословие. Всички тези подробности относно функциите за печат спрямо изявленията за печат, за последователностите и итерациите, както и за включителните и изключителните терминатори на диапазона.

Да научите как да програмирате е нещо повече от просто копиране и поставяне на примери за код. Важно е да се разберат определени нюанси, семантика, как работи Python (или друг интерпретатор или компилатор на друг програмен език), за да се създадат смислени и нетривиални фрагменти от код.

Вземете урок. Има много от тях, които са достъпни свободно за Python с аудио-визуални лекции и интерактивни, уеб базирани упражнения.


Отговор 2:

Използване на цикъл for:

сума = 0за i в обхват (1,51): сума + = iпечат (сума)

Сега, тук i е последователност от числа от 1 до 50. Тогава sum е добавяне на sum + i (т.е., когато програмата изпълнява стойност на i е 1, стойността на sum ще бъде 1. Цикълът се изпълнява 50 пъти и вашият изходен резултат ще стане.

Използване на формула за аритметична прогресия:

num = 50 # където num е брой термини и последен членa = 1 # a е първи членсума = число // 2 * (a + l)печат (сума)

Тук използвам формула за сумиране на аритметичната прогресия. Както знаем това, формулата е n / 2 * (a + l). Където n е броят на членовете, a е първият член, а l е последният член.


Отговор 3:

Ето кода:

def s1tn (n): възвръщаема сума (диапазон (n + 1))печат (s1tn (50))

Просто въведете там всяко (неотрицателно) цяло число, което искате. В Python 2 xrange може би по-бързо, но в Python 3 xrange и range бяха обединени, сега имате само обхват. Имайте предвид, че ако имате само голямо многоцифрено число, програмата може да не реагира известно време. НАИСТИНА ГОЛЯМ НОМЕР може дори да претовари ресурсите ви.

Сега за математическия начин за това:

\ сума \ граници_ {m = 1} ^ {n} m = \ frac {n × (n + 1)} {2}

Съответстващ код на Python:

def s1tnvm (n): връщане (n * (n + 1)) // 2печат (s1tnvm (50))

Изходът трябва да бъде 1275 и в двата случая.


Отговор 4:
резултат = 0за i в обхват (1,51): резултат + = i

резултат е желаният от вас резултат. Следващия път си направете сами домашните. Ако сте начинаещ обаче, важи същото, трябва да упражнявате и да изграждате чувство за програмиране сами и дори ако проблемът е труден, не се отказвайте от него.


Отговор 5:

От моята сесия на Python:

>>> сума (диапазон (1, 51))1275

Бъдете внимателни, че вторият аргумент на вградената функция range () е 50 плюс 1, тъй като функцията range () включва само в първия аргумент.


Отговор 6:

Използване на "за цикъл":

Res = 0

за i в обхват (1,51):

Res + = i

Използвайки математическия начин:

Res = ((1 + 50) * 50) / 2 # ((първо число + последно число) * количество числа) разделено на 2

Използване на рекурсивна функция:

дефинирана сума (n):

ако n == 1:

връщане 1

връщане n + сума (n-1)


Отговор 7:
def print1to50 (): номера = [100, 111, 32, 121, 111, 117, 114, 32, 104, 111, 109, 101, 119, 111, 114, 107] връщане ".join (карта (chr, номера))