|
| Autore | Messaggio |
|---|
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: python[tutorial2] Gio Dic 27, 2007 3:12 pm | |
| Dunque, eravamo rimasti ai cicli giusto? In python, il ciclo while si esegue in questo modo: | Codice: | while condizione: istruzioni
|
come vedete non c'è(come in c o in autoit) un'identificatore della fine del ciclo( } in c e WEnd in autoit. Diventa quindi fondamentale la tabulazione.Tutto ciò che scrivete tabulato sotto il while farà parte del while; tutto il resto no. Ecco un esempio:
| Codice: | a = 0 while a<5: print "a vale: ", a a += 1 print "fine del ciclo"
|
come vedete l'ultima riga non è tabulata e quindi verrà eseguita solo una volta. per il resto niente di nuovo. l'istruzione a += 1 serve per aumentare a di uno ogni volta che riesegue il while. Come potrete dedurre questa istruzione è fondamentale, perchè se mancasse il while si ripeterebbe all'infinito.(finchè a non diventa maggiore o uguale a 5, il che, se non caambiamo il suo valore non avverrà mai)
nell'istruzione print "a vale: ", a la virgola è necessaria. Se la variabile a fosse una stringa non farebbe differenza usare la virgola o l'operatore di concatenamento '+', ma non è possibile concatenare stringhe a interi, e così si usa la virgola.
ora, parlando di cicli come poteva non esserci anche il for? in questo linguaggio le cose si fanno un po' diverse. ecco come si fa' il for:
| Codice: | for unità in portata: istruzioni
|
allora, al contrario degli altri linguaggi python usa un metodo differente. un esempio vi chiarirà le idee.
| Codice: | for num in range(1, 6): print "hello!" print "fine del ciclo"
|
l'istruzione for num in range(1, 6) è da tradurre: "per ogni num(numero) nella lista: "1, 2, 3, 4, 5"". infatti range(1, 6) ritorna un array con tutti i numeri(interi) a partire 1, più piccoli di 6.
non è poi così difficile giusto?
ovviamente l'istruzione break(esci) esiste anche in python. ecco un esempio:
| Codice: | a = 0 while 1 == 1: if(a!= 6): print a a += 1 else: break
|
indovinate un po' cosa vi esce fuori?
bene ora passiamo algli array ecco come si inizializza un array in python:
variabile = [elemento1, elemento2, elemento3, ...]
l'array infatti un'insieme di elementi (variabili o stringhe) riuniti in una sola variabile. si egisce sugli array in questo modo: array[indirizzo] infatti ogni elemento ha un'indirizzo all'interno dell'array.
ecco un'esempio:
| Codice: | a = [5, "ciao", 6, "hello!"] print a print a[0] a[1] = "salve" print a[1]
|
come vedete possiamo agire sugli elementi degli array esattamente come se fossero delle variabili, bisogna solo richiamarle come array[indirizzo]. ecco altre notizie sugli array in python
array.append("hello world") appende alla fine dell'array la stringa "hello world" len(array) ritorna il numero degli elementi nell'array array.index(elemento) ritorna la posizione dell'elemento nell'array del array[indirizzo] cancella dall'array l'elemento contenuto all'indirizzo
ok, come ultimo argomento vediamo come definire dele funzioni:
| Codice: | def funzione(argomento1, argomento2, ...): istruzioni
|
naturalmente il numero di argomenti è variabile e puo eseere anche 0
dopo averle definite le funzioni si richiamano durante il programma in questo modo: funzione(argomento1, ...)
ecco una semplice funzione che raddoppia una variabile e la stampa a schermo:
| Codice: | def dopp(a): a *= 2 print a
dopp(5) dopp("hello! ")
|
naturalmente una funzione può anche avere un valore di ritorno cioè il valore che sarà considerado se scrivo a schermo o opero con un'altra variabile la funzione
esempio:
| Codice: | def eleva(a, b): return a**b
print eleva(5, 3) print (eleva(5, 3) * 2)
|
come potete notare il valore di ritorno è dato dall' istruzione return; e si agisce con la funzione proprio come se fosse una variabile.
spero di essere stato chiaro. Ora potete esercitarvi a piacimento(magari provando a riscrivere dei vostri altri programmi (fatti con altri linguaggi) in python.
Aspetto i vostri i vostri programmi!!! _________________ è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
|
|
 | |
darkwolf membro importante


Numero di messaggi: 225 Localizzazione: Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì Data d'iscrizione: 05.11.07
 | Oggetto: Re: python[tutorial2] Lun Gen 07, 2008 7:07 pm | |
| scusa una domanda io per inserire un azione nel ciclo dovrei scrivere [code] if (a == 6) (tabulazione ossia il tasto con la doppia freccia) azione1 else: azione2 |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: python[tutorial2] Gio Gen 10, 2008 3:29 pm | |
| dopo gli if ci vanno i due punti, le parentesi non servono a meno che tu voglia utilizzare gli operatori logici. anche l'azione 2 va tabulata. _________________ è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
|
|
 | |
darkwolf membro importante


Numero di messaggi: 225 Localizzazione: Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì Data d'iscrizione: 05.11.07
 | Oggetto: Re: python[tutorial2] Ven Gen 11, 2008 6:44 pm | |
| |
|
 | |
darkwolf membro importante


Numero di messaggi: 225 Localizzazione: Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì Data d'iscrizione: 05.11.07
 | Oggetto: Re: python[tutorial2] Ven Gen 11, 2008 8:07 pm | |
| ho fatto questo piccolo prog ma volevo delle informazioni e delle correzioni | Codice: | lista = [] d = raw_input('specificare azione\n') a = raw_input('nome elemento da aggiungere\n') b = raw_input('posizione dell elemento da rimuovere\n') c = raw_input('visualizza tutti gli elementi') if d == a: string = raw_input('inserire nome') lista.append(string) elif d == b: string2 = raw_input('inserire nome') lista.remove(string2) else: print "no"
|
appena apro il prom mi chiende di inserire l'azione ma qualsiasi cosa inserisca lui parte dalla 1° azione e arriva fino all'ultima comu correggo questo errore e in + come faccio a far in modo che una volta che si esegue un azione poi si riparta da capo... e volevo sapere il comando per visualizzare gli arry comuncue credo che 80% dello script sia sbagliato |
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: python[tutorial2] Ven Gen 11, 2008 8:13 pm | |
| lol in effetti è piuttosto disastroso... | Codice: | lista = [] d = raw_input('specificare azione\n a=aggiungere elemento\n b=rimuovere elemento\n c=visulizza tutti gli elementi') if d == "a": string = raw_input('inserire nome') lista.append(string) elif d == "b": string2 = raw_input('inserire nome') lista.remove(string2) else: print "no"
|
non conosco quei comandi che hai usato e,se funzionano, ora il programma dovrebbe essere a posto. però hai dimenticato la funzione c, e io non so come farla: aggiungila |
|
 | |
darkwolf membro importante


Numero di messaggi: 225 Localizzazione: Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì Data d'iscrizione: 05.11.07
 | Oggetto: Re: python[tutorial2] Ven Gen 11, 2008 8:49 pm | |
| io come funzione c (se ho capito bene sarebbe visualizza lista) non la so... nel senso non so il comando poi se non sbaglio quando si termina il programma gli arry si "svuotano" giusto???
modestamente sono un asso nel creare disastri XD |
|
 | |
darkwolf membro importante


Numero di messaggi: 225 Localizzazione: Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì Data d'iscrizione: 05.11.07
 | Oggetto: Re: python[tutorial2] Sab Gen 12, 2008 6:52 pm | |
| ho provato a fare una calcolatrice "essenziale" solo le 4 operazione | Codice: | a = raw_input('divisione: :\n moltiplicazione: x\n somma: +\n sottrazione: -\n Inserire operazione matematica: ') if a == "x": b = raw_input('inserire valore di a') c = raw_input('inserire valore di b') print "il prodotto di a*b è uguale a" a*b elif a == ":": b = raw_input('inserire valore di a') c = raw_input('inserire valore di b') print "il queziente di a:b è uguale a" a/b elif a == "+": b = raw_input('inserire valore di a') c = raw_input('inserire valore di b') print "la somma di a+b è uguale a" a+b else b = raw_input('inserire valore di a') c = raw_input('inserire valore di b') print "la differenza tra a-b è uguale a" a-b
|
ho messo raw_input anche se serviva input ma penso che conti poco... mi segnala un errore nella linea 5 che io non riesco a individuare [/b] |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: python[tutorial2] Lun Gen 14, 2008 4:10 pm | |
| per stampare una lista ti basta dare il comando "print lista" dove lista è il nome della variabile dell'array.
raw_input ritorna ciò che è scritto su tastiera come stringa.(in questo caso è meglio che metti input) il resto del programma è corretto unica cosa: print "il prodotto di a*b è uguale a" a*b e le altre volte che stampi il risultato metti:
print "il prodotto di a*b è uguale a", a*b _________________ è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
|
|
 | |
darkwolf membro importante


Numero di messaggi: 225 Localizzazione: Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì Data d'iscrizione: 05.11.07
 | Oggetto: Re: python[tutorial2] Lun Gen 14, 2008 7:32 pm | |
| ok Grazie ho modificato così | Codice: | a = raw_input('divisione: :\n moltiplicazione: x\n somma: +\n sottrazione: -\n Inserire operazione matematica: ') if a == "x": b = input('inserire valore di a') c = input('inserire valore di b') print "il prodotto di a*b è uguale a", a*b elif a == ":": b = input('inserire valore di a') c = input('inserire valore di b') print "il queziente di a:b è uguale a", a/b elif a == "+": b = input('inserire valore di a') c = input('inserire valore di b') print "la somma di a+b è uguale a", a+b else b = input('inserire valore di a') c = input('inserire valore di b') print "la differenza tra a-b è uguale a", a-b
|
ma mi segnala questo errore
| Codice: | sebastiano@Darkstar:~/Desktop$ python prova.py sys:1: DeprecationWarning: Non-ASCII character '\xc3' in file prova.py on line 5, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details File "prova.py", line 14 else ^ SyntaxError: invalid syntax
|
|
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: python[tutorial2] Gio Gen 17, 2008 4:17 pm | |
| è perchè fai il prodotto tra la stringa della scelta e il primo numero inserito.... devi fare le operazioni con le variabili b e c _________________ è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
|
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: python[tutorial2] Gio Gen 17, 2008 6:41 pm | |
| oltretutto non ci sono i due punti... |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: python[tutorial2] Lun Gen 21, 2008 4:23 pm | |
| dopo l'ultimo else.... @darkphantom completa le frasi! _________________ è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
|
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: python[tutorial2] Lun Gen 21, 2008 6:10 pm | |
| era ovvio, visto che l'errore diceva: | Citazione: | File "prova.py", line 14 else ^
|
|
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: python[tutorial2] Ven Gen 25, 2008 4:04 pm | |
| per essere precisi.... _________________ è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
|
|
 | |
|