Xhack
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CercaCerca  Ultime immaginiUltime immagini  RegistratiRegistrati  Accedi  

 

 python[tutorial2]

Andare in basso 
3 partecipanti
AutoreMessaggio
certaindeath
Admin
Admin
certaindeath


Numero di messaggi : 343
Data d'iscrizione : 30.07.07

python[tutorial2] Empty
MessaggioTitolo: python[tutorial2]   python[tutorial2] EmptyGio Dic 27, 2007 5: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!!!
Torna in alto Andare in basso
darkwolf
membro importante
membro importante
darkwolf


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

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyLun Gen 07, 2008 9: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
Torna in alto Andare in basso
certaindeath
Admin
Admin
certaindeath


Numero di messaggi : 343
Data d'iscrizione : 30.07.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyGio Gen 10, 2008 5: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.
Torna in alto Andare in basso
darkwolf
membro importante
membro importante
darkwolf


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

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyVen Gen 11, 2008 8:44 pm

ok grazie
Torna in alto Andare in basso
darkwolf
membro importante
membro importante
darkwolf


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

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyVen Gen 11, 2008 10: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
Torna in alto Andare in basso
darkphantom
hack-member
hack-member
darkphantom


Numero di messaggi : 398
Data d'iscrizione : 03.09.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyVen Gen 11, 2008 10: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
Torna in alto Andare in basso
darkwolf
membro importante
membro importante
darkwolf


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

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyVen Gen 11, 2008 10: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
Torna in alto Andare in basso
darkwolf
membro importante
membro importante
darkwolf


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

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptySab Gen 12, 2008 8: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]
Torna in alto Andare in basso
certaindeath
Admin
Admin
certaindeath


Numero di messaggi : 343
Data d'iscrizione : 30.07.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyLun Gen 14, 2008 6: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
Torna in alto Andare in basso
darkwolf
membro importante
membro importante
darkwolf


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

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyLun Gen 14, 2008 9: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
Torna in alto Andare in basso
certaindeath
Admin
Admin
certaindeath


Numero di messaggi : 343
Data d'iscrizione : 30.07.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyGio Gen 17, 2008 6: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
Torna in alto Andare in basso
darkphantom
hack-member
hack-member
darkphantom


Numero di messaggi : 398
Data d'iscrizione : 03.09.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyGio Gen 17, 2008 8:41 pm

oltretutto non ci sono i due punti...
Torna in alto Andare in basso
certaindeath
Admin
Admin
certaindeath


Numero di messaggi : 343
Data d'iscrizione : 30.07.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyLun Gen 21, 2008 6:23 pm

dopo l'ultimo else....
@darkphantom completa le frasi!
Torna in alto Andare in basso
darkphantom
hack-member
hack-member
darkphantom


Numero di messaggi : 398
Data d'iscrizione : 03.09.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyLun Gen 21, 2008 8:10 pm

era ovvio, visto che l'errore diceva:
Citazione :

File "prova.py", line 14
else
^
Torna in alto Andare in basso
certaindeath
Admin
Admin
certaindeath


Numero di messaggi : 343
Data d'iscrizione : 30.07.07

python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] EmptyVen Gen 25, 2008 6:04 pm

per essere precisi....
Torna in alto Andare in basso
Contenuto sponsorizzato





python[tutorial2] Empty
MessaggioTitolo: Re: python[tutorial2]   python[tutorial2] Empty

Torna in alto Andare in basso
 
python[tutorial2]
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» python[tutorial3]
» [python] successione di fibonacci
» [python]Numeri primi
» Programmare in python: tutorial1
» [python] addizioni a 4 cifre

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Xhack :: Programmazione :: Python-
Vai verso: