ciao a tutta la lista,
sto studiando Python per conto mio e sono digiuno di programmazione.
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.
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.
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.
Come ne esco? Grazie in anticipo se qualcuno vorra' aiutarmi.


from datetime import datetime

luca = {"job":"wannacode","name":"luca","nato":"1975-11-02"}
lucia = {"job":"boss girl","name":"lucia","nato":"1991-02-24"}
edgar = {"job":"coding", "name":"edgar","nato":"1980-07-04"}
workers = [luca,lucia,edgar]

#def anno(): #estrae l'anno reale dal sistema e lo trasforma in numero
#  todaystring = str(datetime.now())
#  anno_actual = int(todaystring[:4])
# anno()

e = [] #crea una lista vuota

def anno_nato(): #per ogni lavoratore estrae l'anno di nascita e lo aggiunge
alla lista 'e'
  for i in workers:
    data = i["nato"]
    anno_nascita = data[:4]
    e.append(anno_nascita)
anno_nato()

for y in e:
  todaystring = str(datetime.now())
  anno_actual = int(todaystring[:4])
  c = anno_actual
  g = int(y) #g adesso e' un numero
  calc = c - g

  print "prueba eta'", calc #per provare se funziona

  for i in workers:
    print "il lavoro di", i["name"], "e'", i["job"]
    print "la eta' di ", i["name"], "e'", calc,"anni"


-- 
Anjin

WEB: http://www.anjinart.com  ––  BLOG: http://anjinart.blogspot.com/
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a