<div class="gmail_quote">2011/5/24 Zanon Samuele <span dir="ltr"><<a href="mailto:webs86@gmail.com">webs86@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Ciao a tutti... <div>Ho un quesito: esiste una funzione, o avete un consiglio su come realizzarla, che dato un insieme di coppie di date e ore, è possibile verificare che nessuna di esse vadano a sovrapporsi? questa verifica mi serve per creare una sorta di agenda con appuntamenti non sovrapposti su django.</div>
<div>Ciao e grazie mille per la risposta</div></blockquote><div><br></div><div>Per esempio:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div class="gmail_quote">
<div><font class="Apple-style-span" face="'courier new', monospace">from datetime import datetime</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"><br>
</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace">lista = (</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> (datetime(2011, 5, 4, 11, 44), datetime(2011, 6, 2, 10, 33)),</font></div>
</div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> (datetime(2011, 3, 4, 21, 10), datetime(2011, 1, 3, 16, 51)),</font></div></div><div class="gmail_quote">
<div>
<font class="Apple-style-span" face="'courier new', monospace"> (datetime(2011, 1, 3, 16, 53), datetime(2011, 1, 1, 23, 13)),</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> )</font></div>
</div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace">not_overlapping = set()</font></div>
</div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace">for d1, d2 in lista:</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> d1, d2 = min(d1, d2), max(d1, d2)</font></div>
</div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> for d3, d4 in set(not_overlapping):</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> if not (d4 < d1 or d2 < d3):</font></div>
</div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> print d1, d2, " overlaps ", d3, d4</font></div></div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> else:</font></div>
</div><div class="gmail_quote"><div><font class="Apple-style-span" face="'courier new', monospace"> not_overlapping.add((d1, d2))</font></div></div></blockquote><div class="gmail_quote"><div><br></div><div>
Ciao.<br>Marco.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div><br></div><div><font color="#999999">------</font></div><font color="#999999">Zanon Samuele<br>
mailto: webs86 AT gmail DOT com</font><br>
</div>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div><div><div><a href="http://beri.it/i-miei-libri/" target="_blank">http://beri.it/i-miei-libri/</a> - Qualche libro...</div><div><a href="http://stacktrace.it" target="_blank">http://stacktrace.it</a> - Aperiodico di resistenza informatica</div>
<div><a href="http://thinkcode.tv/gratis" target="_blank">http://thinkcode.tv/gratis</a> - Capire in 15 minuti cosa può fare Python</div></div></div><br>