Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistratiRegistrati  Lista UtentiLista Utenti  GruppiGruppi  Accedi  

Condividere | 
 

 python[tutorial2]

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
certaindeath
Admin
Admin
avatar

Numero di messaggi : 343
Data d'iscrizione : 30.07.07

MessaggioTitolo: python[tutorial2]   Gio 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!!!

_________________
è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkwolf
membro importante
membro importante
avatar

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

MessaggioTitolo: Re: python[tutorial2]   Lun 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
Tornare in alto Andare in basso
Vedi il profilo dell'utente
certaindeath
Admin
Admin
avatar

Numero di messaggi : 343
Data d'iscrizione : 30.07.07

MessaggioTitolo: Re: python[tutorial2]   Gio 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.

_________________
è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkwolf
membro importante
membro importante
avatar

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

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

ok grazie
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkwolf
membro importante
membro importante
avatar

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

MessaggioTitolo: Re: python[tutorial2]   Ven 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
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkphantom
hack-member
hack-member
avatar

Numero di messaggi : 398
Data d'iscrizione : 03.09.07

MessaggioTitolo: Re: python[tutorial2]   Ven 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
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkwolf
membro importante
membro importante
avatar

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

MessaggioTitolo: Re: python[tutorial2]   Ven 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
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkwolf
membro importante
membro importante
avatar

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

MessaggioTitolo: Re: python[tutorial2]   Sab 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]
Tornare in alto Andare in basso
Vedi il profilo dell'utente
certaindeath
Admin
Admin
avatar

Numero di messaggi : 343
Data d'iscrizione : 30.07.07

MessaggioTitolo: Re: python[tutorial2]   Lun 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

_________________
è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkwolf
membro importante
membro importante
avatar

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

MessaggioTitolo: Re: python[tutorial2]   Lun 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
Tornare in alto Andare in basso
Vedi il profilo dell'utente
certaindeath
Admin
Admin
avatar

Numero di messaggi : 343
Data d'iscrizione : 30.07.07

MessaggioTitolo: Re: python[tutorial2]   Gio 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

_________________
è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkphantom
hack-member
hack-member
avatar

Numero di messaggi : 398
Data d'iscrizione : 03.09.07

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

oltretutto non ci sono i due punti...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
certaindeath
Admin
Admin
avatar

Numero di messaggi : 343
Data d'iscrizione : 30.07.07

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

dopo l'ultimo else....
@darkphantom completa le frasi!

_________________
è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
darkphantom
hack-member
hack-member
avatar

Numero di messaggi : 398
Data d'iscrizione : 03.09.07

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

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

File "prova.py", line 14
else
^
Tornare in alto Andare in basso
Vedi il profilo dell'utente
certaindeath
Admin
Admin
avatar

Numero di messaggi : 343
Data d'iscrizione : 30.07.07

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

per essere precisi....

_________________
è strano quante cose bisogna sapere prima di sapere quanto poco si sa...
Tornare in alto Andare in basso
Vedi il profilo dell'utente
Contenuto sponsorizzato




MessaggioTitolo: Re: python[tutorial2]   

Tornare in alto Andare in basso
 
python[tutorial2]
Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 di 1

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