On Feb 23, 2008, at 9:56 PM, Alberto Aliberti wrote: > Vorrei creare un tool per la generazione di statistiche sui database > scacchistici. Da quello che ho capito , mi potrebbe essere utile > lavorare con > le "liste" di Python .
Potrebbe. Chissà. > 1- Qual'è la massima estensione (lunghezza) di una lista di stringhe > in Python ? Dipende dalle stringhe! Cioè tipo se ogni stringa pesa un GB, beh, non è inverosimile che inchiodi tutto con una lista di una ventina di elementi. :) Scherzi a parte, il problema è IMHO malposto. Puoi considerare una lista come un tipo illimitato. Il problema è che molto probabilmente, ancora prima di arrivare vicino ad eventuali limiti fisici dell'interprete e/o della macchina, hai performance inaccettabili. Ma questo vale anche in C o in C++, per inteso. Se gestisci male la memoria e/o carichi troppa roba in RAM, inchiodi un po' tutto. > 2- Ho letto che le dichiarazioni di variabili all'interno di una > lista , si separano con una virgola - (1,2,3,). Le mosse di scacchi > sono scritte separate da uno > spazio e da un numero (1. d4 Cf6 2. c4 e6). Si può sostituire lo > spazio alla virgola? (per dichiarare le variabili ovviamente). Ti vedo estremamente confuso. In primo luogo quelle che chiami 'liste', sono 'tuple'. In secondo luogo il concetto di 'dichiarazione' di variabile è un po' problematico in Python. Tipicamente le variabili sono in effetti 'nomi'. E i nomi possono essere bound o un-bound. Sono unbound prima che li bindi (wow!). E ovviamente usarli provoca errore. Dopo averli bindati (per dirla semplice, ci hai fatto sopra un assegnamento) sono bindati ad un dato oggetto Python e puoi chiamarlo con quel nome. A questo punto, non so rispondere alla tua domanda, poiché la tua domanda non ha molto senso. Non ha senso poichè non stai 'dichiarando' variabili (e non stai nemmeno bindandole, in effetti). In ultimo, stai chiedendo di *cambiare* la sintassi di python. Che non ha senso. Se voglio fare capire a python un file html, non è che cambio la sintassi del linguaggio: scrivo un parser che mi tira dentro html in modo a me congeniale (btw, prima di scriverlo, ne cerco uno -- e ne trovo a pacchi). > Ora avendo la risposta a queste due domande , credo di avere gli > strumenti > per "importare" in Python una partita "singola" . Il problema è : > per importare più partite da un database , come posso "dividere" le > partite ? Cioè come posso fare sapere a Python quando finisce una > partita e inizia una nuova ? Se importassi le partite manualmente , > una a una , non ci sarebbe problema , > potrei scrivere qualsiasi codice di programma e crearmi un database > specifico, ma l'utilità dell'applicazione verebbe a meno. Io devo > potere importare "automaticamente" le partite da un database > esistente , o da una copia testuale di esso (un database di partite > discacchi posso convertirlo in formato TXT,HTML,RTF o PGN -pgn è lo > standar per i database di scacchi). Dimentica quello che hai chiesto sopra: tu in pratica per prima cosa vuoi avere un modulo che parsi i files pgn. Avendo questo, è lui che si prende carico di gestire il formato e farti maneggiare le partite. Posso suggerire: http://mail.python.org/pipermail/python-list/2005-September/342833.html http://www.koders.com/python/fidC6D1208DF38275760E08D02FEFBDC5A583C28620.aspx?s=game#L47 che viene da http://berlios.chessviper.org.uk/ e poi http://www.gnomefiles.org/app.php/PyChess http://pychess.googlepages.com/ L'ultimo è un programma completo che ovviamente contiene anche codice per maneggiare i pgn. Puoi prendere tale codice e usarlo. A questo punto, cercherei di convincerti a *riflettere* sul problema che hai, chiarificarti in testa cosa devi fare da un punto di vista *logico*, esporre quello, poi vediamo tutti insieme come fare ad implementarlo in Python. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python