Forum >> Principianti >> Funzioni

Pagina: 1

Ciao!

Mi serve aiuto con questo esercizio: devo scrivere una funzione che accetti come argomenti due numeri, "low" e "high", e deve calcolare la somma di tutti i numeri compresi tra "low" e "high", estremi inclusi.




A me viene così:

def add(low, high):
    
    z = 1
    somma = low
    for su in range(high - low):
        somma = somma + (low + z)
        z += 1
    return somma
Funziona ma non mi sembra proprio giusto; c'è un modo più semplice?



Puoi provare anche così:
def somma_valori(low, high):
	risultato = high
	for valore in range(low, high):
		risultato += valore
	return risultato

oppure

def add(low, high): return sum(range(low, high + 1))


THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
o ancora (leggermente meno elegante, ma molto più veloce)

def add(low, high): return (high - low + 1) * (high + low) / 2


THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
"meno elegante" mica tanto, eh. Questa è la soluzione di Gauss se ben ricordo.




https://leanpub.com/capirewxpython: Capire wxPython, il mio libro
https://pythoninwindows.blogspot.com: Python in Windows, il mio blog e le mie guide
Grazie mille!!!


Pagina: 1



Esegui il login per scrivere una risposta.