W3docs

Sommare Due Numeri

Scopri come sommare due numeri in Python con l'operatore +, sum() e functools.reduce(). Interi, float e conversione dell'input utente.

Sommare due numeri è una delle prime operazioni aritmetiche da comprendere in Python. Python supporta diversi approcci: il semplice operatore + per i casi più diretti, la funzione built-in sum() quando si lavora con una collezione, e functools.reduce() per il codice in stile funzionale. Questa pagina tratta tutti e tre, incluso il passaggio fondamentale di convertire l'input dell'utente in un tipo numerico prima di eseguire la somma.

Metodo 1: Usare l'Operatore +

L'operatore di addizione + è il modo più diretto per sommare due numeri. Funziona con interi, float e numeri complessi.

python— editable, runs on the server

Lo stesso operatore funziona con i float senza alcuna modifica:

x = 3.5
y = 1.2
print(x + y)   # Output: 4.7

Suggerimento sui nomi delle variabili: evita di chiamare una variabile sum — oscura la funzione built-in sum() di Python e può causare bug difficili da individuare nel codice.

Metodo 2: Sommare Numeri dall'Input Utente

Quando un utente digita un numero, Python lo riceve come string. Devi convertirlo in un intero con int() o in un numero a virgola mobile con float() prima di poter eseguire operazioni aritmetiche. Consulta Python Casting per una spiegazione completa della conversione di tipo.

a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
result = a + b
print("The sum is:", result)

Se l'input potrebbe contenere decimali, usa float() invece di int():

a = float(input("Enter first number: "))
b = float(input("Enter second number: "))
print("The sum is:", a + b)

Metodo 3: Usare la Funzione Built-in sum()

La funzione built-in sum() di Python somma ogni elemento in un iterabile (come una lista o una tupla). È lo strumento giusto quando hai più di due numeri da sommare.

python— editable, runs on the server

sum() accetta anche un argomento opzionale start, che viene aggiunto al risultato:

total = sum([1, 2, 3], 10)   # 10 + 1 + 2 + 3
print(total)                  # Output: 16

Questo è utile quando vuoi accumulare un totale progressivo.

Metodo 4: Usare functools.reduce()

reduce() del modulo functools applica ripetutamente una funzione a due argomenti su una sequenza, riducendola a un singolo valore. Per la semplice addizione sum() è più chiaro, ma reduce() è utile quando la funzione di combinazione è più complessa di +.

python— editable, runs on the server

Puoi anche passare una lambda invece di una funzione con nome:

from functools import reduce

total = reduce(lambda x, y: x + y, [10, 20, 30, 40, 50])
print(total)   # Output: 150

Scegliere l'Approccio Giusto

SituazioneApproccio consigliato
Sommare due valori notioperatore +
Leggere numeri dalla tastieraint() / float() poi +
Sommare una lista o una tuplasum()
Applicare una funzione di combinazione personalizzatafunctools.reduce()

Argomenti Correlati

Was this page helpful?