esempi python mobile
1.Introduzione
Per iniziare lo sviluppo in python sui dispositivi mobili dovrete scaricare il compilatore python per il vostro dispositivo all’indirizzo: pys60 prelevate il file .sis e lo installate.Adesso dovete scegliere se installare python anche sul pc e scrivere gli script e provarli tramite l’emulatore sdk oppure utilizzare il compilatore python installato sul vostro cellulare sfruttando la connessione bluetooth,vediamo queste due soluzioni in dettaglio.
SFRUTTARE LA CONNESSIONE BLUETOOTH:
Creiamo una connessione con Hyper Terminal (Start-Programmi-Accessori-Comunicazioni),digitiamo il nome da dare alla connessione e la COM per la connessione,poi apriamo python nel nostro dispositivo andiamo su Bluetooth console,other e selezioniamo la connessione.Se abbiamo eseguito tutto dovremmo trovarci con una schermata di questo tipo:
Potete vedere il funzionamento tramite questo video ma me realizzato:
UTILIZZARE EMULATORE:
Se invece vogliamo scrivere gli script e provarli nel computer dobbiamo scaricare python per il nostro computer ad esempio Active Python e scaricare l’ emulatore .Per eseguire l’emulatore dobbiamo aprire l’eseguibile EPOC32.exe che si trova nella cartella dell’emulatore.
2.Costrutti condizionali
Tramite le strutture di controllo possiamo rendere le nostre applicazioni più “dinamiche” nel senso che se si verifica una certa condizione potremmo ottenere un certo output rispetto che un’altro.In python come fino ad adesso avete potuto vedere non ci sono punti e vigola da mettere alla fine di ogni istruzione,variabili da dichiarare prima e cosi via,l’unica attenzione che dovete avere è l’indentazione che a differenza degli altri linguaggi fa proprio parte del linguaggio,cioè una volta verificata una condizione vengono eseguite le istruzioni che sono indentate sotto la condizione.
Passiamo a presentare il primo…
-WHILE:
while(condizione):
istruzione 1
istruzione 2
istruzione 3
….
….
istruzione n
Affinchè verrà soddisfatta la condizione del while verranno eseguite le istruzioni 1 e 2 , appena la condizione del while non verrà soddisfatta verrà eseguita l’istruzione 3 e l’esecuzione del programma continuerà ad eseguire le successive istruzioni(se ve ne sono).
Esempio:
a=0
while (a
Quindi viene inizializzata la variabile a al valore zero,quindi fino a che la variabile a è minore o uguale a 10 stampa il valore di a e la incrementa di 1 appena il valore di a è maggiore di 10 non vengo eseguite le condizioni print a e a=a+1 ma viene eseguita print “la variabile a è maggiore di 10, a=”,a
Altro esempio:
a=1
print “Adesso a=”,a
while (a!=0): #il simbolo != significa “diverso”
a=input(”Inserisci un numero,digita 0 per terminare:”)
print “Adesso a=”,a
Inizializza la variabile a ad 1 e stampa nel video il suo valore,poi entra nella condizione del while e permette all’utente d’inserire un valore alla variabile a e lo stampa a video e ripete queste due istruzioni fino a quando l’utente non digita il valore zero (cioè fino a quando a non è uguale a zero).
-IF:
if (condizione):
istruzione1
else:
istruzione2
Se è verificata la condizione allora viene eseguita l’istruzione1,altrimenti(else) viene eseguita l’istruzione2.
Vediamo un’esempio:
a=input(”Inserisci un valore:”)
if (a>=5):
print “il valore della variabile è maggiore o uguale a 5, a=”,a
else:
print “il valore della variabile è minore di 5, a=”,a
Possiamo avere un’altra struttura di if :
if(condizione a):
istruzione1
elsif (condizione b):
istruzione2
else:
istruzione3
Se è verificata la condizione a dell’if viene eseguita l’istruzione1, altrimenti se(elsif) è verificata la condizione b viene eseguita l’istruzione2,altrimenti viene eseguita l’istruzione3
Eccovi un’esempio:
a=input(”Inserisci un valore:”)
if (a=9):
print “il valore di a è compreso tra 4 e 9″
else:
print “il valore di a è maggiore o uguale a 10″
3.Le liste
La lista può essere pensata come una variabile che può contenere più di un valore,anche di tipo diverso,vediamo come si crea:nomelista=[’elemento0′,’elemento1′,elemento2,’elemento3′,elemento4]
Gli elementi 0,1,3 sono di tipo stringa(infatti sono tra le virgolette),mentre gli elementi 2,4 sono di tipo numerico.
All’interno della lista gli elementi vengono “indicizzati” , infatti e vengono contati a partire da zero,quindi:
lunghezza_lista=(numero elementi-1)
Se vogliamo sapere che elemento abbiamo in una determinata posizione della lista ci basta scrivere:
nomelista[posizione]
Esempio:
lista=[’patate’,'cipolle’,2,’mele’,69,’pesche’]
print lista[1]
print lista[4]
Otterremo come output:
cipolle
69
Se invece vogliamo sapere in che posizione si trova un certo elemento della lista scriviamo:
nomelista.index(nome_elemento)
Esempio:
lista=[’patate’,'cipolle’,2,’mele’,69,’pesche’]
print lista.index(’cipolle’)
L’output sarà:
1
Per cancellare un’elemento dalla lista scriviamo:
del nomelista(posizione_elemento)
Esempio:
lista=[’patate’,'cipolle’,2,’mele’,69,’pesche’]
del lista(1)
in questo modo cancelleremo la parola “cipolle”
Riepilogando i comandi da potere usare sulle liste sono:
len(nome_lista) –> restituisce la lunghezza della lista
nome_lista.index(nome_elemento)—>restituisce la posizione dell’elemento
nome_lista.append(elemento)–>inserisce un nuovo elemento nella lista
nome_lista.sort()–>ordina la lista
del nome_lista(posizione)–>cancella l’elemento nella posizione
elemento in nome_lista–>restituisce true se l’elemento è nella lista
nome_lista=range(valore)–>la lista conterrà gli elementi che vanno da 0 a valore
nome_lista=range(valore1,valore2) –>la lista conterrà gli elementi compresi tra valore1 e valore2
TUPLE:
Le tuple sono delle liste dove gli elementi non si possono modificare,esse si dichiarano in questo modo:nome_tupla=(’elemento1′,’elemento2′,’elemento3′)
4.I dizionari
Adesso passiamo ad esaminare una delle strutture più potenti di Python,i dizionari.I dizionari sono formati da parole chiavi e valori,ad ogni parola chiave corrisponde un valore che può essere di tipo numerico,stringa,lista.
Possiamo dire che i dizionari sono una “particolare” lista ,solo che gli elementi anziché essere indicizzati mediante un indice numerico,gli elementi vengono identificati da una chiave:
chiave1–>elemento1
chiave2–>elemento2
Eccovi i comandi che si usano sui dizionari:
dizionario={’A’:’Alberto’,’B’:’Bernardo’,’C’:’Claudia’,’D’:’Dora’}
print dizionario #stampa tutto il dizionario (chiavi e valori)
print dizionario.values() #stampa solo i valori
print dizionario.keys() #stampa solo le chiavi
print len(dizionario) #restituisce la lunghezza
print dizionario.has_key(’A’) #restituisce TRUE se la chiave esiste,FALSE altrimenti
print dizionario.has_key(’Bernardo’) #restituisce FALSE perchè Bernardo è un valore e no una chiave
5.Modulo Appuifw
Il modulo appuifw è di uno di quei moduli che utilizzeremo in quasi tutte le nostre applicazioni.Con esso possiamo avvisare l’utente tramite delle note o possiamo chiedere l’inserimento di dati,vediamo come funziona.
Per prima vediamo inserimento dei dati che possono essere:testo,numero,data,ora,password,domanda.
-TESTO:
import appuifwnome=appuifw.query(u”Nome: “,”text”)
-NUMERO:
import appuifwnumero=appuifw.query(u”Numero: “,”number”)
-DATA:
import appuifwdata=appuifw.query(u”Data: “,”date”)
-ORA:
import appuifwora=appuifw.query(u”Ora: “,”time”)
-PASSWORD:
import appuifwpassword=appuifw.query(u”Codice: “,”code”)
-DOMANDA
import appuifwdomanda=appuifw.query(u”Vuoi uscire?”,”query”)
Esempi di Note:
-INFO:
import appuifwappuifw.note(u”Questa e’ una nota”,”info”)
-ERRORE
import appuifwappuifw.note(u”Esempio di errore”,”error”)
-CONF:
import appuifwappuifw.note(u”Nota”,”conf”)
Per scegliere un dato da una lista possiamo farlo in questi modi:
-SELECTION LIST
import appuifwLista=[u'Chiama',u'Sms',u'Mms',u'Gioca']
richiesta=appuifw.selection_list(choices=Lista,search_field=1)
-MULTI SELECTION LIST:
import appuifwLista=[u'Chiama',u'Sms',u'Mms',u'Gioca']
richiesta = appuifw.multi_selection_list(Lista , style=’checkbox’, search_field=1)
6.Le Stringhe
Oggi impariamo ad usare al meglio le stringhe che come ogni altro elemento in Python è in oggetto,quindi ha dei metodi che ne facilitano l’utilizzo.I caratteri della stringa vengono indicizzati da 0 ad (n-1).
-Lunghezza:
supponiamo di avere una stringa(frase):frase =’’supercalifragilissichespiralitoso”
se vogliamo sapere la lunghezza della stringa,basta scrivere
>>>len(frase)
>>>33
-Lo slicing:
Tramite lo slicing possiamo estrapolare dalla stringa una parte di essa,ad esempio>>>frase[:10] #stampa i primi 10 caratteri
>>>supercalif
>>>frase[-10:] #stampa gli ultimi 10 caratteri
>>>piralitoso
>>>frase[2:8] #stampa dal terzo carattere al numero 8
>>>percal
>>>frase[::10] #stampa ogni 10 caratteri
>>>srh
7.Modulo Sysinfo
Adesso presenteremo il modulo sysinfo che ci fornisce le informazioni del dispositivo dove viene eseguita l’applicazione.Innanzitutto importiamo il modulo con la sintassi import sysinfo .
1.Per avere lo stato della batteria:
>>>sysinfo.battery() #ci restituirà un valore compreso tra 0-7
2.Per sapere la risoluzione in pixels del nostro schermo:
>>>sysinfo.display_pixels()
3.Ci restituisce la quantità di memoria libera:
>>>sysinfo.free_drivespace()
4.Ci restituisce la quantità di ram libera:
>>>sysinfo.free_ram()
5.Ci restituisce la ram totale:
>>>sysinfo.total_ram()
6.Ci restituisce la rom totale:
>>>sysinfo.total_rom()
7.Per sapere l’imei del dispositivo:
>>>sysinfo.imei()
8.Restituisce la versione del sistema operativo:
>>>sysinfo.os_version()
9.Tipo di suoneria impostato:
>>>sysinfo.ring_type()
10.Restituisce il livello del segnale:
>>>sysinfo.signal() #valore da 0 a 7
8.Modulo e32
1.Conoscere i drive del nostro dispositivo:>>>e32.drive_list() #restituisce una lista
2.Per conoscere la versione installata di python:
>>>e32.pys60_version
3.Per conoscere la versione del s.o:
>>>e32.s60_version_info
#restituisce una tupla con due valori
(1,2) per s60 prima edizione
(2,0) per s60 seconda edizione
(2,6) per s60 seconda edizione Feature Pack 2
4.Per “addormentare” l’applicazione un certo numero di secondi:
>>>e32.ao_sleep(2) #addormenta il programma per 2 secondi
5.Per aprire un’applicazione:
>>>e32.start_exe(NomeFile,Comando)
6.Per copiare un file:
>>>e32.file_copy(Path di arrivo,Path sorgente)
Nessun commento:
Posta un commento