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.
Lo stesso operatore funziona con i float senza alcuna modifica:
x = 3.5
y = 1.2
print(x + y) # Output: 4.7Suggerimento 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.
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: 16Questo è 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 +.
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: 150Scegliere l'Approccio Giusto
| Situazione | Approccio consigliato |
|---|---|
| Sommare due valori noti | operatore + |
| Leggere numeri dalla tastiera | int() / float() poi + |
| Sommare una lista o una tupla | sum() |
| Applicare una funzione di combinazione personalizzata | functools.reduce() |
Argomenti Correlati
- Python Variables — come memorizzare e nominare i valori
- Python Operators — riferimento completo per operatori aritmetici, di confronto e logici
- Python Numbers — interi, float e numeri complessi spiegati
- Python Casting — conversione tra tipi con
int(),float()estr() - Python User Input — lettura di valori dalla tastiera con
input()