[Python] Richiesta aiuto per soluzione

Carpediem i.carpediem a tiscali.it
Mer 1 Apr 2015 15:43:15 CEST


Scusate ma non riesco a venirne a capo: ho provato a buttar giù le 
seguenti righe di codice ma nel testarle mi accorgo che non mi stampa 
mai il risultato della variabile giorni. Ho provato le formule 
singolarmente e come mi attendevo, impostando in input il numero dei 
secondi a un milione, la formula mi restituisce in termini di giorni il 
risultato di undici ma quando vado a stampare, mi ritrovo riportato il 
valore di zero. Ho controlato riga per riga anche facendo i calcoli con 
carta e penna e pur coincidendo tutto sulla carta, una volta eseguito il 
programma mi ritrovo sempre con il saldo dei giorni a zero.
C'è qualcuno che gentilmente si presta a dare uno sguardo a quanto 
segue? ho anche commentato ogni riga di codice per facilitarne la lettura.
grazie


scelta=input("Seleziona l'unità di tempo da convertire\ns per secondi, m 
minuti, o ore, g giorni, ms mesi, a anni, sec secoli ")
if scelta=="s":
     print()
     secondi=eval(input("Inserisci il numero dei secondi ")) #l'esempio 
posto è di un milione#
     minuti=int(secondi/60) #converte il numero dei secondi (1000000) in 
16666 minuti#
     secondi=(secondi-(minuti*60))#trasforma la parte decimale dei 
minuti in 40 secondi (un milione-999960). ora abbiamo 40 secondi e 16666 
minuti#
     ore=int(minuti/60)#converte i minuti in ore (16666 diviso 60) ora 
la situazione è 40 secondi 16666 minuti e 277 ore#
     minuti=minuti-(ore*60)# trasforma la parte decimale delle ore in 
minuti (16666-(277*60)) quindi 46 minuti
     #situazione ora è secondi=0, minuti=46, ore=277#
     giorni=int(ore/24)#trasforma il numero delle ore in giorni (11)
     ore=ore-(giorni*24)#trasforma la parte residuale dei giorni in ore 
277-(11*24)=13
     #situazione ora è secondi=0, minuti=46, ore=13, giorni=11
     mesi=int(giorni*12)/365 #trasforma i giorni in mesi: in questo 
caso, risultato =0#
     giorni=int(giorni-(mesi*365)/12) #calcola il numero esatto dei 
giorni al netto della presenza di mesi: 11-((0*365)/12)= 11 (invece 
stampa 0)#
     anni=int(mesi/12)
     mesi=int(mesi-(anni*12))
     secoli=int(anni/100)
     anni=anni-(secoli*100)
     print()
     print("il numero dei secondi inserito equivale 
a",secoli,"secoli,",anni,"anni,",mesi,"mesi,",giorni,"giorni,",ore,"ore",minuti,"minuti 
e",secondi,"secondi")


Maggiori informazioni sulla lista Python