Il 02/04/2015 10:52, Alessandro Re ha scritto:
2015-04-02 10:36 GMT+02:00 Carpediem <i.carped...@tiscali.it>:
Sono alle primissime armi con python e non conosco la funzione divmod
A giudicare dall'entusiasmo che altri hanno manifestato al tuo suggerimento,
ritengo opportuno cercare notizie in proposito. grazie
divmod non fa altro che fare // e % assieme:
8 // 5 # == 1
8 % 5 # == 3
quoz, resto = divmod(8, 5) # == (1, 3)
visto che divisione intera e resto sono due operatori accoppiati, mi
sembra logico avere una funzione che restituisca entrambi con un solo
calcolo, da qui il mio entusiasmo :)
Comunque, quando dici:
Sono a conoscenza dell'operatore modulo ma i vari passaggi di divisione
e moltiplicazione in realtà non hanno lo specifico compito di ottenere un
numero intero ma di trasformare ad esempio, un alto numero di minuti in
un numero che rientri nel normale limite per giungere alla grandezza
superiore immediatamente successiva.
quello che capisco è "faccio l'operazione inversa per calcolare il
modulo" :D Poi magari non ho capito bene cosa intendi, ma dal tuo
codice mi pare di capire che hai bisogno del modulo.
Cioé, se hai 100 minuti, tu vuoi ottenere la conversione in Q ore e R
minuti, cioé 1 ora e 40 minuti (1 ora * 60 minuti + 40 minuti = 100
minuti), che è esattamente l'operatore modulo.
In ogni caso, ecco come farei:
def converti_secondi_in_roba_varia(T):
minuti, secondi = divmod(T, 60)
ore, minuti = divmod(minuti, 60)
giorni, ore = divmod(ore, 24)
anni, giorni = divmod(giorni, 365)
secoli, anni = divmod(anni, 100)
return secoli, anni, giorni, ore, minuti, secondi
converti_secondi_in_roba_varia(12345678) # (0, 0, 142, 21, 21, 18)
Mancano le settimane, in realtà, mentre i mesi non sono determinabili
correttamente perché cambiano di lunghezza. Però ho verificato con
wolframalpha e sembra funzionale:
http://www.wolframalpha.com/input/?i=12345678+seconds
Ciauz
~Ale
E' Bellissimo!!!!! Lo studierò meglio su ulteriori esempi ma è davvero
una meraviglia. Grazie!!
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python