Când numărul de valori nu e fix dinainte, se citește întâi n (câte valori urmează), apoi se parcurg valorile una câte una într-o buclă, actualizând la fiecare pas o variabilă „acumulator”:
suma pornește de la 0 — o „cutie goală” în care adunăm, la fiecare pas al buclei, numărul citit (suma += x). maxim pornește de la None (adică „încă nu știm”) și, la fiecare pas, se actualizează doar dacă numărul curent e mai mare decât ce aveam deja reținut.
maxim nu pornește de la 0Dacă toate numerele citite sunt negative, un maxim care pornește de la 0 ar rămâne greșit la 0 — pentru că niciun număr negativ nu trece testul „e mai mare decât 0”. De asta inițializăm maxim cu prima valoare citită (aici, folosind None ca semnal „încă nu am citit nimic”), nu cu 0.
