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")
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a