[Python] controllo della data

2012-07-27 Per discussione infs...@libero.it
Salve, da una settimana sto smanettando con Python e ho una marea di domande. 
Comincio con la prima, le altre strada facendo.
Esiste in Python un modo per controllare una data immessa da input (es. 
data=raw_input ('immetti data') )? Per ora me la sto cavando con il 
sezionamento della data in parti e controllare ciascuna parte con delle if. Ma 
anche qui ho un problema, come si fa in caso di errore a ritornare alla riga di 
input (qualcosa tipo "resume" o "go to").
Tante grazie
NSantini
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] controllo della data

2012-07-29 Per discussione infs...@libero.it
Un ringraziamento a voi che avete risposto e in modo simpatico vi siete 
confrontati, mi è piaciuta la battuta sul codice +- pythonico. 
Circa Marco Beri, ho per le mani proprio un tuo libro "Python" pocket della 
Apogeo. 
Alla fine mi pare di aver capito che il codice che andrebbe usato è

from datetime import datetime
input = '10/12/1977'
try:
 result = datetime.strptime(input, '%d/%m/%Y')
except ValueError:
 result = None

Bene, l'ho provato e funziona; ora lo devo raccordare col codice che avevo già 
disposto e quindi la prima riga va messa in cima al listato, poi creo una def 
con le righe di cui sopra alla quale passo la data ricevuta da tastiera e 
valuterò la risposta in result: se None la data è sbagliata e va reinserita con 
un While e non con un goto di Commodoresca memoria (chi ha qualche anno sulle 
spalle capirà!)
Un grazie a tutti voi, al prossio dubbio.
Ciao




>Messaggio originale
>Da: python-requ...@lists.python.it
>Data: 28/07/2012 22.40
>A: 
>Ogg: Digest di Python, Volume 77, Numero 37
>
>Invia le richieste di iscrizione alla lista Python all'indirizzo
>   python@lists.python.it
>
>Per iscriverti o cancellarti attraverso il web, visita
>   http://lists.python.it/mailman/listinfo/python
>oppure, via email, manda un messaggio con oggetto `help' all'indirizzo
>   python-requ...@lists.python.it
>
>Puoi contattare la persona che gestisce la lista all'indirizzo
>   python-ow...@lists.python.it
>
>Se rispondi a questo messaggio, per favore edita la linea dell'oggetto
>in modo che sia più utile di un semplice "Re: Contenuti del digest
>della lista Python..."
>
>
>Argomenti del Giorno:
>
>   1. Re: controllo della data (Giorgio Zoppi)
>   2. Re: controllo della data (Nicola Larosa)
>   3. Re: controllo della data (Andrea Francia)
>   4. Re: controllo della data (Daniele Varrazzo)
>   5. Re: controllo della data (Alberto Granzotto)
>   6. Re: controllo della data (Giorgio Zoppi)
>   7. Re: controllo della data (Daniele Varrazzo)
>
>
>--
>
>Message: 1
>Date: Sat, 28 Jul 2012 20:49:26 +0200
>From: Giorgio Zoppi 
>To: Discussioni generali sul linguaggio Python
>   
>Subject: Re: [Python] controllo della data
>Message-ID:
>   
>Content-Type: text/plain; charset=ISO-8859-1
>
>Marco compariamo
>
>RegExp:
>import re
>
>date = "01/02/1988"
>checkdate ="^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d"
>obj = re.compile(checkdate)
>if (re.match(date)):
> print 'Valid date'
>
>
>Datetime
>from datetime import datetime
>date = '10/12/1977'
>input = date.replace("/","")
>result = None
>format = ['%d%m%Y']
>  try:
>result = datetime.strptime(input, format)
>  except:
> pass
>
>if (result):
>print "Validate"
>
>
>Il secondo e' piu pythonico...ma lungo. Hai altre opzioni?
>
>
>--
>
>Message: 2
>Date: Sat, 28 Jul 2012 20:58:18 +0200
>From: Nicola Larosa 
>To: Discussioni generali sul linguaggio Python
>   
>Subject: Re: [Python] controllo della data
>Message-ID: <5014364a.5000...@teknico.net>
>Content-Type: text/plain; charset=UTF-8
>
>Giorgio Zoppi wrote:
>>   except:
>>  pass
>
>Tu andrai all'inferno per questo, lo sai sì?
>
>
>> Il secondo e' piu pythonico...
>
>Se 'sta roba è pythonica, io sono Mastro Geppetto.
>
>-- 
>Nicola Larosa - http://www.tekNico.net/
>
>Most women experimentally are bisexual. If you give testosterone shots
>to heterosexual men they become more obsessed with women. If you give
>it to gay men they become more obsessed with men, to lesbians they
>become more obsessed with women. If you give the same shot to a
>heterosexual woman she becomes more obsessed with everybody.
> - Christopher Ryan, March 2012
>
>
>
>--
>
>Message: 3
>Date: Sat, 28 Jul 2012 21:11:42 +0200
>From: Andrea Francia 
>To: Discussioni generali sul linguaggio Python
>   
>Subject: Re: [Python] controllo della data
>Message-ID:
>   
>Content-Type: text/plain; charset="utf-8"
>
>On Sat, Jul 28, 2012 at 8:49 PM, Giorgio Zoppi wrote:
>>
>> Datetime
>> from datetime import datetime
>> date = '10/12/1977'
>> input = date.replace("/","")
>> result = None
>> format = ['%d%m%Y']
>>   try:
>> result = datetime.strptime(input, format)
>>   except:
>>  pass
>>
>> if (result):
>> print "Validate"
>>
>
>A parte l'uso scorretto delle eccezioni questa non é una validazione
>corretta.
>Accetterebbe anche 101/2/1977 come data valida e lo convertirebbe (credo) a
>10/12/1977.
>
>Ciao
>-- 
>Andrea Francia http://andreafrancia.it
>-- parte successiva --
>Un allegato HTML è stato rimosso...
>URL: 
>
>--
>
>Message: 4
>Date: Sat, 28 Jul 2012 20:28:06 +0100
>From: Daniele Varrazzo 
>To: 
>Subject: Re: [Python] controllo della data
>Message-ID: <705b4e7d20e86b44e396a30234363...@deve