udm93 Pubblicato: 11 Settembre 2008 Segnalazione Share Pubblicato: 11 Settembre 2008 Salve raga, ho un piccolo problemino col python! Sto creando il mio primo programma che genera numeri pe il gioco del lotto. Solo che appena apro lo script questo crasha....non riesco a capire il problema! Posto il codice per farmi aiutare da voi esperti: import e32 import appuifw from appuifw import * from graphics import * from key_codes import * import sys import string import appuifw import random import time from time import ctime import os import graphics directory=sys.path direcway=directory[0][0:1] appdir=direcway+":\\system\\apps\\python\\" img=Image.new((176,208)) def quit(): appuifw.note(u"Alla prossima") lock.signal() appuifw.app.set_exit() def genera(): global generaz global img,canv canv.clear(0xffffff) img=Image.new((176,208)) img=Image.open(appdir+"Extra\\Gener.png") canv.blit(img) img.text((5,5),unicode(generaz),font=u"LatinPlain12") generazio=range(1,91) generaz = random.choice(generazio) appuifw.app.menu = [(u"Menu", menuprin)] def menuprin(): global canv,img appuifw.app.menu=[(u"Genera numeri",genera),(u"Esci",quit)] appuifw.app.title = u'MagicLotto' img=Image.open(appdir+"Extra\\Menu.png") canv.blit(img) def handle_redraw(rect): global canv,img,generaz canv.clear(0xffffff) canv.blit(img,target=(0,0)) lock = e32.Ao_lock() appuifw.app.screen='full' canv=appuifw.Canvas(redraw_callback=handle_redraw) appuifw.app.body=canv appuifw.app.title = u'MagicLotto' menuprin() Grazie Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 11 Settembre 2008 Segnalazione Share Pubblicato: 11 Settembre 2008 Non da alcun errore la shell? Cmq penso che l'errore sia qui: def genera(): global generaz global img,canv canv.clear(0xffffff) img=Image.new((176,208)) img=Image.open(appdir+"Extra\\Gener.png") canv.blit(img) img.text((5,5),unicode(generaz),font=u"LatinPlain12") generazio=range(1,91) generaz = random.choice(generazio) appuifw.app.menu = [(u"Menu", menuprin)] Perchè la variabile generaz non è mai stata dichiarata e li cerchi di "stamparla" a schermo senza che esista. Ioltre in questo modo non vine mai stampato il valore che esce dal random.choice poichè è messo prima della scelta casuale appunto. Modifica il tuo script così, e dimmi se va (evidenzio le mie modifiche): import e32 import appuifw from appuifw import * from graphics import * from key_codes import * import sys import string import appuifw import random import time from time import ctime import os import graphics directory=sys.path direcway=directory[0][0:1] appdir=direcway+":\\system\\apps\\python\\" img=Image.new((176,208)) def quit(): appuifw.note(u"Alla prossima") lock.signal() appuifw.app.set_exit() def genera(): global generaz global img,canv canv.clear(0xffffff) img=Image.new((176,208)) img=Image.open(appdir+"Extra\\Gener.png") canv.blit(img) generazio=range(1,91) generaz = random.choice(generazio) [b] img.text((5,5),unicode(generaz),font=u"LatinPlain12") #ho fatto stampare a schermo la variabile generaz, [u]dopo[/u] che le è stato assegnato un valore da 1 a 90! [/b] appuifw.app.menu = [(u"Menu", menuprin)] def menuprin(): global canv,img appuifw.app.menu=[(u"Genera numeri",genera),(u"Esci",quit)] appuifw.app.title = u'MagicLotto' img=Image.open(appdir+"Extra\\Menu.png") canv.blit(img) def handle_redraw(rect): global canv,img,generaz canv.clear(0xffffff) canv.blit(img,target=(0,0)) lock = e32.Ao_lock() appuifw.app.screen='full' canv=appuifw.Canvas(redraw_callback=handle_redraw) [b]generaz=0 #ho creato la variabile, che poi diventa globale[/b] appuifw.app.body=canv appuifw.app.title = u'MagicLotto' menuprin() Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 11 Settembre 2008 Autore Segnalazione Share Pubblicato: 11 Settembre 2008 ok grazie ora provo Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 11 Settembre 2008 Autore Segnalazione Share Pubblicato: 11 Settembre 2008 ho provato come hai detto tu ma da sempre lo stesso problema, cioe si apre e dopo un secondo crasha Però,ho notato un problema...appena lo compilo sotto mi esce scritto Exception raised while running script MagicLotto.py Mi sapete dire di cosa si tratta?? Grazie. Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 11 Settembre 2008 Segnalazione Share Pubblicato: 11 Settembre 2008 Crasha riportando errori oppure chiude la shell? Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 11 Settembre 2008 Autore Segnalazione Share Pubblicato: 11 Settembre 2008 (modificato) No,la shell non si chiude e non riporta, a quanto mi pare,nessun errore! Dice questa frase appena lo compilo (Exception raised while running script MagicLotto.py), puo essere un errore del mio programma(ActivePython)...devo provare a installarlo di nuovo Se sai qualcosa riferiscimi...grazie Modificato 11 Settembre 2008 da udm93 Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 11 Settembre 2008 Segnalazione Share Pubblicato: 11 Settembre 2008 Ma per compilare cosa intendi? In .pyc oppure creare il pacchetto .sis? Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 12 Settembre 2008 Autore Segnalazione Share Pubblicato: 12 Settembre 2008 Scusami, ho sbagliato io ad esprimermi... Allora, apro ActivePython, scrivo il codice e clicco su debug Appena clikko qui sotto a sinistra esce la voce Exception raised while running script MagicLotto.py Grazie per la pazienza Link to comment Condividi su altri siti More sharing options...
Small_Fajan Pubblicato: 12 Settembre 2008 Segnalazione Share Pubblicato: 12 Settembre 2008 Salve raga, ho un piccolo problemino col python! Sto creando il mio primo programma che genera numeri pe il gioco del lotto.Solo che appena apro lo script questo crasha....non riesco a capire il problema! Posto il codice per farmi aiutare da voi esperti: import e32 import appuifw from appuifw import * from graphics import * from key_codes import * import sys import string import appuifw import random import time from time import ctime import os import graphics directory=sys.path direcway=directory[0][0:1] appdir=direcway+":\\system\\apps\\python\\" img=Image.new((176,208)) def quit(): appuifw.note(u"Alla prossima") lock.signal() appuifw.app.set_exit() def genera(): global generaz global img,canv canv.clear(0xffffff) img=Image.new((176,208)) img=Image.open(appdir+"Extra\\Gener.png") canv.blit(img) img.text((5,5),unicode(generaz),font=u"LatinPlain12") generazio=range(1,91) generaz = random.choice(generazio) appuifw.app.menu = [(u"Menu", menuprin)] def menuprin(): global canv,img appuifw.app.menu=[(u"Genera numeri",genera),(u"Esci",quit)] appuifw.app.title = u'MagicLotto' img=Image.open(appdir+"Extra\\Menu.png") canv.blit(img) def handle_redraw(rect): global canv,img,generaz canv.clear(0xffffff) canv.blit(img,target=(0,0)) lock = e32.Ao_lock() appuifw.app.screen='full' canv=appuifw.Canvas(redraw_callback=handle_redraw) appuifw.app.body=canv appuifw.app.title = u'MagicLotto' menuprin() Grazie ciao...io nn so il codice python però un'idea del perchè si apre e si chiude subito ce l'avrei...Io conosco altri tipi di linguaggi ed è capitato pure a me questo problema all'inizio....secondo me dovresti mettere un comando che ti chieda di premere che ne so un pulsante qualsiasi del cell x continuare....ti faccio un es... se il codice lo scrivo così il programma mi si apre e si chiude subito linguaggio C #include <stdio.h> //librerie #include <iosteam> using namespace std; //mi permette di usare cout (stampa a video) e cin (leggi da tastiera) int main (){ #################### // facciamo finta che sono le istruzioni del programma #################### // return 0; } se invece lo scrivo così il prog aspetta una mia risposta per uscire #include <stdio.h> //librerie #include <iosteam> using namespace std; //mi permette di usarre cout (stampa) e cin (leggi da tastiera) int main (){ int numero; //variable intera di nome numero #################### // facciamo finta che sono le istruzioni del programma #################### // cout << "premere un numero per uscire"; cin << numero; return 0; } prova ad aggiungere un'istruzione simile... Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 12 Settembre 2008 Autore Segnalazione Share Pubblicato: 12 Settembre 2008 ciao fajan ho capito cosa vuoi dire, siccome nn so fare una cosa del genere dovrò farmi rispondere da un utente piu esperto grazie... Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 12 Settembre 2008 Segnalazione Share Pubblicato: 12 Settembre 2008 No,la shell non si chiude e non riporta, a quanto mi pare,nessun errore! Dice questa frase appena lo compilo (Exception raised while running script MagicLotto.py), puo essere un errore del mio programma(ActivePython)...devo provare a installarlo di nuovo Se sai qualcosa riferiscimi...grazie activepython? ma stai compilando quel sorgente per il cellulare sul pc? non si può, o almeno non con activepython (per quanto ne so o.O) Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 13 Settembre 2008 Autore Segnalazione Share Pubblicato: 13 Settembre 2008 ciao dokkis, scusa per l'ignoranza, cosa dovrei usare per compilare il sorgente per cellulare?? Io ho scaricato anche questo: Python 2.5 (IDLE Python GUI)...devo usare questo??? In un modo o nell'altro devo rsolvere queste incertezze..ciao Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 13 Settembre 2008 Segnalazione Share Pubblicato: 13 Settembre 2008 La IDLE serve per eseguire lo script. Siccome hai importato librerie per pys60 (quindi versione mobile) è normale che non funzionino sul pc i tuoi script. Devi prima passarli al cell e poi eseguirlo con la Script Shell... Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 14 Settembre 2008 Segnalazione Share Pubblicato: 14 Settembre 2008 mi permetto di suggerire di lasciar perdere il progetto: nei numeri del lotto non c'e' nessuna logica, è scientificamente impossibile e inutile cercare di trovare un algoritmo per prevedere le prossime uscite sulla base delle estrazioni "storiche". Se ti piace scoprire relazioni nascoste, criptiche e segreti tra i numeri, mettiti a indagare sui file che contengono i messaggi Symbian in \system\mail : li' una struttura C'E' di sicuro, e ti saremmo tutti grati se ce la dicessi.... Come anche quella degli eseguibili che stanno in ROM, che non possono essere spostati in RAM perche' non rilocabili... Link to comment Condividi su altri siti More sharing options...
udm93 Pubblicato: 14 Settembre 2008 Autore Segnalazione Share Pubblicato: 14 Settembre 2008 ok, seguirò il tuo suggerimento ciauz Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora