jak přidat čísla v pythonu


Odpověď 1:

Začněme pár nitpicks.

Nežádáte o součet těchto čísel. Žádáte příklad zdrojového kódu v Pythonu, který dokáže vypočítat tento součet (a pravděpodobně poskytne výsledek jako výstup).

Také součet všech čísel mezi 1 a 50 je nekonečný. Součet všech celých čísel v tomto rozsahu je o něco přitažlivější.

Nyní tedy… přejdeme k otázce: toto je triviální programovací cvičení. Neměli byste být povinni zveřejňovat příspěvky na veřejném fóru, což by potenciálně vyžadovalo čas a úsilí milionů účastníků fóra něčím, na co byste měli být schopni přijít jen s malým úsilím. Je tedy rozumné, abychom otázku položili, zpochybnili vaše záměry a dokonce vám za to vytkli.

Snažíte se naučit Python? Použili jste někdy nějaký programovací jazyk? Zkusili jste hledat:

Google: python součet celých čísel v rozsahu

?

Zde je uveden jednoduchý příklad: python -c "print (sum (range (1,51)))" "

Toto je úplný příkaz, protože by se zadával (nebo vkládal) do příkazového řádku (Unix, Linux nebo MacOS, příkazový řádek MS-Windows atd.).

Volá funkci print () (Python 3.x). Pokud používáte dřívější verze Pythonu, pak se technicky jedná o volání tiskového příkazu s výrazem, který je náhodou obsažen v cizí, byť neškodné sadě závorek.

Tato funkce print () (nebo příkaz) je volána na základě výsledků integrované funkce sum (). To je funkce, která iteruje přes posloupnost čísel (nebo jakýkoli druh iterovatelných číselných dat).

Toto volání sum () zpracovává hodnoty získané z volání vestavěné funkce range (). Funkce range () v různých verzích Pythonu buď vrací seznam (sekvenci) celočíselných hodnot, nebo poskytuje celá čísla v určitém rozsahu (a volitelně pomocí některé krokové hodnoty).

Dodávám spouštěcí a zastavovací hodnoty do funkce range (). Bylo by neškodné volat to s rozsahem (51)… vynecháním prvního argumentu, který je implicitně nastaven na nulu. To je neškodné při volání sum (), protože nula je samozřejmě aditivní identita; můžete jej přidat tolikrát, kolikrát chcete, bez změny výsledku. Říkám to argumentem stop 51, protože rozsahy Pythonu jsou od začátku inkluzivní, ale bez jejich koncového bodu ... jdou od nějakého čísla, včetně toho, až po (ale bez) jiného čísla).

Existuje důvod pro všechno toto extra slovesnost. Všechny tyto podrobnosti o tiskových funkcích vs. tiskových příkazech, sekvencích a iterovatelných souborech a o terminátorech inkluzivního vs. exkluzivního rozsahu.

Naučit se programovat je víc než jen kopírovat a vkládat příklady kódu. Je důležité porozumět určitým nuancím, sémantice, jak funguje Python (nebo jakýkoli jiný tlumočník nebo kompilátor programovacího jazyka), aby bylo možné vytvářet smysluplné a netriviální úryvky kódu.

Přejít na výukový program. Existuje mnoho z nich volně dostupných pro Python s audiovizuálními přednáškami a interaktivními webovými cvičeními.


Odpověď 2:

Pomocí smyčky for:

součet = 0pro i v dosahu (1,51): součet + = itisk (součet)

Nyní je zde posloupnost čísel od 1 do 50. Pak je součet součet součtu + i (tj. Když program spustí hodnotu i je 1, hodnota součtu bude 1. Smyčka běží 50krát a váš požadovaný výstup bude.

Pomocí vzorce pro aritmetický postup:

num = 50 # kde num je počet termínů a poslední termína = 1 # a je první termínsoučet = počet // 2 * (a + l)tisk (součet)

Zde používám součtový vzorec aritmetické progrese. Jak víme, vzorec je n / 2 * (a + l). Kde n je počet členů, a je první člen a l je poslední člen.


Odpověď 3:

Zde je kód:

def s1tn (n): návratnost (rozsah (n + 1))tisk (s1tn (50))

Stačí tam zadat jakékoli (nezáporné) celé číslo, které chcete. V Pythonu 2 xrange možná rychlejší, ale v Pythonu 3 byly spojeny xrange a range nyní máte pouze range. Všimněte si, že pokud máte jen nějaké velké multidigitové číslo, program nemusí chvíli reagovat. SKUTEČNĚ VELKÉ ČÍSLO může vaše zdroje dokonce přetížit.

Nyní pro matematický způsob, jak to udělat:

\ sum \ limits_ {m = 1} ^ {n} m = \ frac {n × (n + 1)} {2}

Odpovídající kód Pythonu:

def s1tnvm (n): návrat (n * (n + 1)) // 2tisk (s1tnvm (50))

Výstup by měl být v obou případech 1275.


Odpověď 4:
výsledek = 0pro i v dosahu (1,51): výsledek + = i

výsledek je váš požadovaný výsledek. Příště si udělejte vlastní domácí úkol sám. Pokud jste začátečník, platí totéž, měli byste cvičit a budovat si smysl pro programování sami, ai když je problém těžký, nevzdávejte to.


Odpověď 5:

Z mé relace Pythonu:

>>> součet (rozsah (1, 51))1275

Dávejte pozor, aby druhý argument vestavěné funkce range () byl 50 plus 1, protože funkce range () je obsažena pouze v prvním argumentu.


Odpověď 6:

Pomocí "pro smyčku":

Res = 0

pro i v dosahu (1,51):

Res + = i

Pomocí matematického způsobu:

Res = ((1 + 50) * 50) / 2 # ((první číslo + poslední číslo) * počet čísel) děleno 2

Použití rekurzivní funkce:

def součet (n):

pokud n == 1:

návrat 1

návrat n + součet (n-1)


Odpověď 7:
def print1to50 (): čísla = [100, 111, 32, 121, 111, 117, 114, 32, 104, 111, 109, 101, 119, 111, 114, 107] návrat ''. join (mapa (chr, nums))