| | Programmare in python: tutorial1 | |
|
| Autore | Messaggio |
|---|
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Programmare in python: tutorial1 Lun Set 24, 2007 4:24 pm | |
| Oggi vi parlo di un linguaggio di programmazione poco citato finora in questo forum: PYTHON Potete scaricarlo facilmente dal suo sito ufficiale: www.python.org(www.python.it) Dunque, da dove cominciamo? Python è un linguaggio di programmazione libero preinstallato negli ambienti unix, e disponibile anche nella versione per windows e Mac OS. Il pacchetto da scaricare per windows consiste nell'interprete di python, un editor di testo apposito e una grande quantità di librerie. Installate python sul vostro computer, aprite un editor di testo e iniziate a programmare. Come ogni tutorial che si rispetti iniziamo con il classico messaggio "Hello world", che in python viene stampato attreaverso l'istruzione "print" in questo modo: | Codice: | print "Hello world!"
|
salvate il vostro file in .py e apritelo con l'interprete di python.
Dichiarare variabili
| Codice: | a = "Hello world!" print a
|
con questo script ottenete lo stesso risultato che nel primo, solo che l'avete espresso in un altra forma; avete infatti dichiarato la variabile a con la stringa "Hello world" e avete ordinato al vostro programma di stampare la variabile a.
| Codice: | a = "Hello " b = "world!" print a + b
|
guardando quello che fà questo messaggio(di nuovo lo stesso banale messaggio) non avrete fatto fatica a capire come si concatenano le variabili.
Operazioni tra variabili e tra numeri.
I 4 segni fondamentali della matematica in python si esprimono con i simboli:
+ = più - = meno * = per / = diviso
(e fin qui tutto normale)
** = elevato a % = resto della divisione
se non avete ben chiaro l'ultimo simbolo vi faccio questi esempi:
6 % 2 = 0 6 % 3 = 0 6 % 4 = 2 6 % 5 = 1
sesmplice no? a % b ritorna il resto della divisione a/b.
Input di numeri e stringhe
se volete dare a una variabile un valore(numerico) scelto dall'utente dovete usare questa forma:
variabile = input('prompt')
Il prompt non è altro che la stringa che introdurrà quello i dati che verranno introdotti(e confermati con il tasto invio)
| Codice: | a = input('inserisci numero: ') print "Il numero che hai inserito è " + a
|
questo semplice programma non fa altro che raccogliere dei dati e stamparli così come li avete inseriti.
per raccogliere delle stringhe usate lo stesso modo, ma al posto di input inserite raw_input
| Codice: | a = raw_input('inserisci una stringa :') print a * 2
|
provate a indovinare cosa fà questo programma? lascio la risposta a voi.
le condizioni if
in python le condizioni if funzionano nello più o meno stesso stesso modo che negli altri linguaggi.
| Codice: | a = input('inserire un numero ') if a < 50: print a + " è minore di 50" elif a > 50: print a + " è maggiore di 50" else: print "hai inserito cinquanta"
|
questo semplice programma raccoglie un dato numerico, verifica se è minore, maggiore o uguale a 50 e stampa una frase diversa a seconda del numero che avete inserito.
avrete sicuramente già capito che le condizioni if funzionano in questo modo:
if condizione: istruzione
elif è l'abbreviazione di else if.
per paragonare variabili e numeri potete usare questi segni:
< minore di > maggiore di <= minore o uguale a >= maggiore o uguale a == uguale a != diverso da
Mettiamo insieme il tutto
dopo questo lungo discorso mettiamo il tutto insieme per fare una calcolatrice
Dunque, azzzzzzzzz....... mi sto addormentando questo tutorial ve lo lascio finire a voi: vediamo chi fà la calcolatrive migliore.
Nel prossimo topic vi parlerò di cicli while, for, tuple e operazioni con le stringhe. |
|
 | |
darkjoker Admin


Numero di messaggi: 813 Data d'iscrizione: 30.07.07
 | Oggetto: Re: Programmare in python: tutorial1 Lun Set 24, 2007 4:28 pm | |
| devo dire che è fatto bene... se comunque qualcuno non capisse qualcosa, non esiti a chiderlo. _________________ L'unico computer sicuro, è un computer spento. Nel software esiste sempre almeno un bug, generalmente è localizzabile tra la tastiera e la sedia  |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: Programmare in python: tutorial1 Lun Set 24, 2007 4:44 pm | |
| |
|
 | |
giozh°_° Moderatore


Numero di messaggi: 156 Data d'iscrizione: 18.08.07
 | Oggetto: Re: Programmare in python: tutorial1 Lun Set 24, 2007 7:02 pm | |
| checcarino... quanti ricordi questo linguaggio... è stato il primo che ho usato per "programmare".. poi l'ho lasciato perdere... ma può tornare utile |
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: Programmare in python: tutorial1 Lun Set 24, 2007 8:16 pm | |
| grazie mille, sembra molto interessante! |
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: Programmare in python: tutorial1 Mar Set 25, 2007 3:12 pm | |
| ecco la mia calcolatrice in python | Codice: | a = input('primo numero: ') b = input('secondo numero: ') c = raw_input('operazione: ') if c == "+": print a + b elif c == "-": print a - b elif c == "*": print a * b elif c == "/": print a / b elif c == "**": print a ** b elif c == "radice": print a ** (1.00000/b) z = 0 while z == 0: z = input('inserire 1 per uscire: ')
|
è molto rudimentale, ma funziona |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: Programmare in python: tutorial1 Mar Set 25, 2007 3:18 pm | |
| è essenziale ma funziona... (tu sulle calcolatrici dovresti farci un libro  ) sei pronto per il tutorial2(verrà postato tra poco) |
|
 | |
jackhack spammer


Numero di messaggi: 89 Localizzazione: TORINO Data d'iscrizione: 18.09.07
 | Oggetto: Re: Programmare in python: tutorial1 Mar Set 25, 2007 3:19 pm | |
| |
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: Programmare in python: tutorial1 Ven Ott 05, 2007 6:21 pm | |
| ecco un programma che genera tutti i numeri primi tra 2 e il numero inserito: | Codice: | a=input("numero massimo:") for b in range(2, a, 1): for c in range(2, b, 1): if b % c == 0: break else: print b d = 0 while d == 0: d=input("digitare un numero diverso da zero per uscire per uscire:")
|
è sicuramente più rapido che usare manualmente il crivello di Eratostene... |
|
 | |
darkphantom hack-member


Numero di messaggi: 398 Data d'iscrizione: 03.09.07
 | Oggetto: Re: Programmare in python: tutorial1 Lun Ott 08, 2007 12:29 pm | |
| ecco un modo per velocizzare sensibilmente il mio programma: | Codice: | while 1==1: a=input("numero massimo:") for b in range(2, a, 1): for c in range(2, b**(1.0/2)+1, 1): if b % c == 0: break else: print b
|
funziona, visto che non è necessario provare con tutti i numeri tra 2 e il numero stesso, ma basta limitarsi ai minori della radice del numero. ho inserito il + 1 perchè altrimenti mi scrive anche il 4, che primo non è |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: Programmare in python: tutorial1 Mar Ott 09, 2007 2:35 pm | |
| bravo!!! eccoti una versione che scrive un file(test.txt) dove ci ficca tutti i numeri primi è meglio perchè così 1 puoi vederli tutti(las shell di windows non te lo permette se sono troppi) 2 puoi copiarli e incollarli dove vuoi(visto che quella stupida shell non te lo fa fare, al contrario di quella di linux che ho io..) | Codice: | # -*- coding: cp1252 -*- x = 1 m = 0 while x != 0: out_file = open("test.txt","w") s = input('Inserire un numero: ') print "attendere....." for num in range(2, s): for fat in range(2, int( num ** 0.5 ) + 1): if num % fat == 0: break else: out_file.write("\n ") out_file.write(repr(num)) if (( s / 10 ) * 2) > num > ( s / 10 ): if m != 1: print "10%" m = 1 elif (( s / 10 ) * 3) > num > (( s / 10 ) * 2): if m != 2: print "20%" m = 2 elif (( s / 10 ) * 4) > num > (( s / 10 ) * 3): if m != 3: print "30%" m = 3 elif (( s / 10 ) * 5) > num > (( s / 10 ) * 4): if m != 4: print "40%" m = 4 elif (( s / 10 ) * 6) > num > (( s / 10 ) * 5): if m != 5: print "50%" m = 5 elif (( s / 10 ) * 7) > num > (( s / 10 ) * 6): if m != 6: print "60%" m = 6 elif (( s / 10 ) * 8) > num > (( s / 10 ) * 7): if m != 7: print "70%" m = 7 elif (( s / 10 ) * 9) > num > (( s / 10 ) * 8): if m != 8: print "80%" m = 8 elif s > num > (( s / 10 ) * 9): if m != 9: print "90%" m = 9 out_file.close() print "Vuoi uscire?" print "0 = si" print "1 = no" x = input('')
|
tra parentesi, ho messo anche un contatore di percentuali, dato che (conoscendo già il tuo computer) non vorrei che ti annoiassi restando a guardare un trattino intermittente per mezz'ora |
|
 | |
black hole membro


Numero di messaggi: 90 Data d'iscrizione: 03.10.07
 | Oggetto: Re: Programmare in python: tutorial1 Dom Ott 14, 2007 8:24 pm | |
| come faccio a far eseguire il programma in un ambiente grafico? |
|
 | |
certaindeath Admin


Numero di messaggi: 343 Data d'iscrizione: 30.07.07
 | Oggetto: Re: Programmare in python: tutorial1 Lun Ott 15, 2007 4:27 pm | |
| devi installarti una libreria che al momento non mi ricordo come si chiama... la prossima ti do il link |
|
 | |
| | Programmare in python: tutorial1 | |
|