ciao a tutta la lista,<br>sto studiando Python per conto mio e sono digiuno di programmazione. <br>Per esercizio sto scrivendo un programma che da dei dizionari estragga delle informazioni (nomi, lavoro e anno di nascita) e poi li mostri in due frasi.<br>
Per complicarmi la vita invece di mostrare l'anno di nascita volevo mostrare l'eta', cosi' ho pensato di etsrarre la data di sistema, isolare l'anno e poi fargli sottrarre l'anno di nascita.<br>Pero' mi sono incartato in due cicli for uno dentro l'altro e ora l'operazione la ripete 3 volte (i 3 dizionari) per ogni persona. Non so se mi sono spiegato, se lo fate girare vi rendete subito conto.<br>
Come ne esco? Grazie in anticipo se qualcuno vorra' aiutarmi.<br><br><br><span class="gI"><span class="ik">from datetime import datetime<br><br>luca = {"job":"wannacode","name":"luca","nato":"1975-11-02"}<br>
lucia = {"job":"boss girl","name":"lucia","nato":"1991-02-24"}<br>edgar = {"job":"coding", "name":"edgar","nato":"1980-07-04"}<br>
workers = [luca,lucia,edgar]<br><br>#def anno(): #estrae l'anno reale dal sistema e lo trasforma in numero<br>#  todaystring = str(datetime.now())<br>#  anno_actual = int(todaystring[:4]) <br># anno()<br><br>e = [] #crea una lista vuota<br>
<br>def anno_nato(): #per ogni lavoratore estrae l'anno di nascita e lo aggiunge alla lista 'e'<br>  for i in workers:<br>    data = i["nato"]<br>    anno_nascita = data[:4]<br>    e.append(anno_nascita)<br>
anno_nato()<br><br>for y in e:<br>  todaystring = str(datetime.now())<br>  anno_actual = int(todaystring[:4])<br>  c = anno_actual<br>  g = int(y) #g adesso e' un numero<br>  calc = c - g<br>  <br>  print "prueba eta'", calc #per provare se funziona<br>
<br>  for i in workers:<br>    print "il lavoro di", i["name"], "e'", i["job"]  <br>    print "la eta' di ", i["name"], "e'", calc,"anni"</span></span><br>
<br clear="all"><br>-- <br>Anjin<br><br>WEB: <a href="http://www.anjinart.com">http://www.anjinart.com</a>  ––  BLOG: <a href="http://anjinart.blogspot.com/">http://anjinart.blogspot.com/</a><br>