[Python] Ho trovato un'altro libro carino su Python e PyGame
Ebbene, non ho paura per passare per niubbo di Python (anche perchè lo sono) e da qualche giorno mi sto divertendo a leggere il libro "MORE PYTHON PROGRAMMING FOR THE ABSOLUTE BEGINNER" di Jonathan S. Harbour (Edizioni Course Technology) Praticamente è una guida introduttiva alla programmazione in Python e PyGame che insegna a scrivere dei piccoli videogiochi ed a imparare le basi del linguaggio e della libreria. In ogni capitolo l'autore introduce dei concetti e li applica per scrivere un piccolo videogioco; è molto semplice e lineare da seguire, e soprattutto mi sto divertendo a leggere un manuale come non mi capitava dai tempi di "Programmare Flash 5 con Actionscript" di Gary Rosenweig, che era sempre sulla falsariga di questo: imparare un linguaggio scrivendo piccoli videogiochi. Personalmente sono arrivato al quinto capitolo e sto imparando a scrivere un giochino con un'omino che deve raccattare le bombe che cadono dal cielo prima che tocchino terra. Si lo so che sono boiate, ma almeno per me sono decisamente divertenti da scrivere e provare ;-) Se vi può interessare darci un'occhiata ho visto che è in vendita su Amazon; io lo sto leggendo da Safari Books, dove è disponibile a questo URL: http://my.safaribooksonline.com/book/-/9781435459809 Ciao ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] assegnazione variabili
Il 01/11/2012 16:37, Marco Mariani ha scritto: > > for riga in cursore.fetchone(): > > fetchone() non ritorna una lista, una sequenza di valori o comunque un > oggetto iterabile. Ritorna solamente l'oggetto 'riga', oppure None. > > Diventa quindi > > riga = cursore.fetchone() > > Il ciclo for si puo' applicare nel caso di fetchall() > > > > > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python Grazie 10. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] assegnazione variabili
> for riga in cursore.fetchone(): fetchone() non ritorna una lista, una sequenza di valori o comunque un oggetto iterabile. Ritorna solamente l'oggetto 'riga', oppure None. Diventa quindi riga = cursore.fetchone() Il ciclo for si puo' applicare nel caso di fetchall() ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] assegnazione variabili
Ciao a tutti, scusate la domandina da niubbo, ma sto cercando di imparare (python 2.7.3) da una tabella mysql cosi strutturata (id, impiegatoid, managerid, nome) ricavo il valore nei campi mediate questa query query = """ select * from comuni where id_impiegato=10 """ cursore.execute(query) for riga in cursore.fetchone(): if riga != None: (id, idimpiegato, idmanager, nome) = riga Ora, quando eseguo il codice mi ritorna un TypeError: 'long' object is not iterable al quale non riesco (date le mie scarse conoscenze) a dare una soluzione oltre che una spiegazione. Qualcuno mi può aiutare per favore? Grazie infinite. Davide ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
Il 01/11/2012 10:46, Daniele Varrazzo ha scritto: On 2012-11-01 09:09, Stefano Dal Pra wrote: Mah, direi che fa qualcosa tipo questo: e che e' giorno di ferie! non ci meritiamo proprio la crisi... grazie a tutti ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
2012/11/1 Daniele Varrazzo : > On 2012-11-01 10:17, Stefano Dal Pra wrote: >> >> 2012/11/1 Daniele Varrazzo : >>> >>> On 2012-11-01 09:09, Stefano Dal Pra wrote: Mah, direi che fa qualcosa tipo questo: >>> >>> >>> >>> Grazie per il top posting, così è facile seguire domande e risposte no? >> >> >> Si', per alcuni e' piu' facile. > > > Per noi lo è: questo è l'importante. Altre ML possono avere altre > preferenze, ma non è rilevante qui. La cosa viene reiterata ogni settimana > ma tu ovviamente sei superiore. > Mi piacciono la semplicita' e l'amichevolezza di python, che trovo si rispecchi nella semplicita' ed amichevolezza cosi' frequente in questa lista. Per questo, malgrado ti risulti ovvio, ti rassicuro che non sono affatto superiore, e che non avrei mai considerato ovvio concludere cosi' nei confronti altrui. Se ti fa piacere puoi approfondire questo argomento in privato, se anche tu trovi che non arricchisca poi molto la conoscenza su python. > > >> Pero' mi rimangono due dubbi: >> - sugli esempio di uso stringhe in VB mi sembra che gli indici partano >> da 0, come in python. > > > Uso mid da quando si chiamava mid$ e lo schermo era blu con la cornice > azzurra. Il primo carattere è 1. > > http://msdn.microsoft.com/en-us/library/05e63829(v=vs.80).aspx > > Ok, grazie; non avendo modo di verificare, mi ero fidato del primo esempio trovato: strProva = "Ciao a Tutti" str2 = Mid$(strProva, 5, 4) 'A str2 viene assegnato il valore "a Tu" --- qui: http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic/Stringhe_in_Visual_Basic/ Da cui deducevo che si conta da zero: 0 C 1 i 2 a 3 o 4 5 a ecc. Morale: in caso di dubbio, meglio la doc ufficiale :-) Spero che il porting VB --> py abbia buon esito! Ciao > >> - Mi sembra che String sia per default unicode (quindi un carattere >> --> 2 byte) tranne quando >> si specifica direttamente la stringa tra "". >> In questo caso B e' un buffer binario, quindi anziche B[n] si dovrebbe >> prendere B[2*n : 2*n + 2] ? > > > Il file è aperto in maniera binaria: vengono letti dei byte. Non viene fatta > nessuna decodifica. > > > >> O in qualche modo "python way" gestire il caso di stringhe unicode? > > > Sì, ci sono le stringhe unicode appunto, ma fanno loro i calcoli delle > posizioni in memoria. Moltiplicare per 2 assume stringhe unicode memorizzate > in UTF16, che non è sempre corretto (python può essere compilato per usare 4 > byte in memoria, e Py 3.3 ha unicode a dimensione variabile, a senconda del > contenuto). > > > > -- > Daniele Varrazzo - Develer S.r.l. > http://www.develer.com > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
On 2012-11-01 10:17, Stefano Dal Pra wrote: 2012/11/1 Daniele Varrazzo : On 2012-11-01 09:09, Stefano Dal Pra wrote: Mah, direi che fa qualcosa tipo questo: Grazie per il top posting, così è facile seguire domande e risposte no? Si', per alcuni e' piu' facile. Per noi lo è: questo è l'importante. Altre ML possono avere altre preferenze, ma non è rilevante qui. La cosa viene reiterata ogni settimana ma tu ovviamente sei superiore. Pero' mi rimangono due dubbi: - sugli esempio di uso stringhe in VB mi sembra che gli indici partano da 0, come in python. Uso mid da quando si chiamava mid$ e lo schermo era blu con la cornice azzurra. Il primo carattere è 1. http://msdn.microsoft.com/en-us/library/05e63829(v=vs.80).aspx - Mi sembra che String sia per default unicode (quindi un carattere --> 2 byte) tranne quando si specifica direttamente la stringa tra "". In questo caso B e' un buffer binario, quindi anziche B[n] si dovrebbe prendere B[2*n : 2*n + 2] ? Il file è aperto in maniera binaria: vengono letti dei byte. Non viene fatta nessuna decodifica. O in qualche modo "python way" gestire il caso di stringhe unicode? Sì, ci sono le stringhe unicode appunto, ma fanno loro i calcoli delle posizioni in memoria. Moltiplicare per 2 assume stringhe unicode memorizzate in UTF16, che non è sempre corretto (python può essere compilato per usare 4 byte in memoria, e Py 3.3 ha unicode a dimensione variabile, a senconda del contenuto). -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
2012/11/1 Daniele Varrazzo : > On 2012-11-01 09:09, Stefano Dal Pra wrote: >> >> Mah, direi che fa qualcosa tipo questo: > > > Grazie per il top posting, così è facile seguire domande e risposte no? Si', per alcuni e' piu' facile. > Riordino... > > >> On Thu, Nov 1, 2012 at 9:33 AM, orsomann...@gmail.com >> wrote: >>> >>> C'e' qualcuno che sa aiutarmi a convertire questo pezzo di codice VB in >>> Python? > > >>> Dim Buffer As String * 327 >>> >>> fileno = FreeFile >>> Open ".\DATAFILE" For Binary As #fileno >>> Get #fileno, , Buffer > > >> f = open('DATAFILE','rb') >> B = f.read(327) > > > >>> VCod = Hex2(Asc(Mid(Buffer, 9, 1))) & Hex2(Asc(Mid(Buffer, 10,1))) & >>> Left(Hex2(Asc(Mid(Buffer, 11, 1))), 1) > > >> Vcod = "%02x%02x%02x"%(B[9], B[10], B[11]) > > > Mi sembra che Mid sia base 1: in questo caso dovrebbe essere: > > Vcod = "%02x%02x%02x"%(ord(B[8]), ord(B[9]), ord(B[10])) Sull'a necessita' di ord() mi sono reso conto appena ho provato il pezzetto di codice, ahime solo dopo aver cliccato "Send". Pero' mi rimangono due dubbi: - sugli esempio di uso stringhe in VB mi sembra che gli indici partano da 0, come in python. - Mi sembra che String sia per default unicode (quindi un carattere --> 2 byte) tranne quando si specifica direttamente la stringa tra "". In questo caso B e' un buffer binario, quindi anziche B[n] si dovrebbe prendere B[2*n : 2*n + 2] ? O in qualche modo "python way" gestire il caso di stringhe unicode? Grazie, ciao. > > >>> VCog = Trim(Mid(Buffer, 31, 30)) >> >> Vcog = B[31:62].strip() > > > Sempre se Mid è base 1, questo sembra più: > > Vcog = B[30:60].strip(' ') > > strip elimina tutti i whitespace, anche tabe crlf, credo Trim() elimini solo > gli spazi. > > > >> Se puoi prova ad allegare un "DATAFILE" ed il risultato che da i >> lcodice originale... > > > > -- > Daniele Varrazzo - Develer S.r.l. > http://www.develer.com > > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
2012/11/1 Daniele Varrazzo > On 2012-11-01 09:09, Stefano Dal Pra wrote: > >> On Thu, Nov 1, 2012 at 9:33 AM, orsomann...@gmail.com >> > >> VCog = Trim(Mid(Buffer, 31, 30)) >>> >> Vcog = B[31:62].strip() >> > > Sempre se Mid è base 1, questo sembra più: > > Vcog = B[30:60].strip(' ') > > strip elimina tutti i whitespace, anche tabe crlf, credo Trim() elimini > solo gli spazi. Sì, hai ragione: giusto usare per strip il parametro ' '. Da http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.strings.trim.aspx : Returns a string containing a copy of a specified string with no leading spaces (LTrim), no trailing spaces (RTrim), or no leading or trailing spaces (Trim). Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
On 2012-11-01 09:09, Stefano Dal Pra wrote: Mah, direi che fa qualcosa tipo questo: Grazie per il top posting, così è facile seguire domande e risposte no? Riordino... On Thu, Nov 1, 2012 at 9:33 AM, orsomann...@gmail.com wrote: C'e' qualcuno che sa aiutarmi a convertire questo pezzo di codice VB in Python? Dim Buffer As String * 327 fileno = FreeFile Open ".\DATAFILE" For Binary As #fileno Get #fileno, , Buffer f = open('DATAFILE','rb') B = f.read(327) VCod = Hex2(Asc(Mid(Buffer, 9, 1))) & Hex2(Asc(Mid(Buffer, 10,1))) & Left(Hex2(Asc(Mid(Buffer, 11, 1))), 1) Vcod = "%02x%02x%02x"%(B[9], B[10], B[11]) Mi sembra che Mid sia base 1: in questo caso dovrebbe essere: Vcod = "%02x%02x%02x"%(ord(B[8]), ord(B[9]), ord(B[10])) VCog = Trim(Mid(Buffer, 31, 30)) Vcog = B[31:62].strip() Sempre se Mid è base 1, questo sembra più: Vcog = B[30:60].strip(' ') strip elimina tutti i whitespace, anche tabe crlf, credo Trim() elimini solo gli spazi. Se puoi prova ad allegare un "DATAFILE" ed il risultato che da i lcodice originale... -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Letture file binario da Vb a Python
Mah, direi che fa qualcosa tipo questo: f = open('DATAFILE','rb') B = f.read(327) Vcod = "%02x%02x%02x"%(B[9], B[10], B[11]) Vcog = B[31:62].strip() Se puoi prova ad allegare un "DATAFILE" ed il risultato che da i lcodice originale... Ciao On Thu, Nov 1, 2012 at 9:33 AM, orsomann...@gmail.com wrote: > C'e' qualcuno che sa aiutarmi a convertire questo pezzo di codice VB in > Python? > > > Dim Buffer As String * 327 > > fileno = FreeFile > Open ".\DATAFILE" For Binary As #fileno > Get #fileno, , Buffer > > VCod = Hex2(Asc(Mid(Buffer, 9, 1))) & Hex2(Asc(Mid(Buffer, 10,1))) & > Left(Hex2(Asc(Mid(Buffer, 11, 1))), 1) > > VCog = Trim(Mid(Buffer, 31, 30)) > > > > Function Hex2(Number) > Hex2 = Right("00" & Hex(Number), 2) > End Function > > > > Grazie. > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Letture file binario da Vb a Python
C'e' qualcuno che sa aiutarmi a convertire questo pezzo di codice VB in Python? Dim Buffer As String * 327 fileno = FreeFile Open ".\DATAFILE" For Binary As #fileno Get #fileno, , Buffer VCod = Hex2(Asc(Mid(Buffer, 9, 1))) & Hex2(Asc(Mid(Buffer, 10,1))) & Left(Hex2(Asc(Mid(Buffer, 11, 1))), 1) VCog = Trim(Mid(Buffer, 31, 30)) Function Hex2(Number) Hex2 = Right("00" & Hex(Number), 2) End Function Grazie. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python