Se afișează postările cu eticheta instructiune. Afișați toate postările
Se afișează postările cu eticheta instructiune. Afișați toate postările

sâmbătă, 17 aprilie 2010

Programare - Pasul 5

O alta instructiune de repetitie este while - instructiune cu numar necunoscut de pasi, adica nu stim de la inceput de cate ori se va executa corpul acesteia.

Forma generala
while (conditie):
         set_instructiuni


while e o instructiune cu test initial - adica inainte de a executa setul de instructiuni se testeaza conditia; daca aceasta e adevarata se va executa secventa de cod corespunzatoare corpului functiei; in caz contrar nu se executa nimic

Exemplu 1


parola=' ' # initializam variabila parola
while (parola!='Sorin123'):
         parola=input("Introduceti parola :")



Programul de mai sus citeste siruri de caractere de la tastatura pana cand sirul citit este Sorin123.

Observatie: nu uita ca se citeste un sir de caractere care trebuie incadrat intre apostrofuri ' '

Exemplu 2


parola=' ' #initializare variabila parola
i=0 #contor pentru numarul de incercari
while (parola!='Sorin123' and i < 3):
         parola=input("parola :")
         i=i+1
         if (parola!='Sorin123'):
              print "Parola gresita. Mai ai ",3-i," incercari"
         if (i==3):
              print "Nu ai nimerit parola!"



In posturile urmatoare voi propune cateva aplicatii ale instructiunilor invatate pana acum. Daca intampini dificultati cere-mi ajutorul; chiar astept intrebari din partea ta unde nu am fost destul de explicit.

Pana data viitoare iti urez spor la programat.

miercuri, 31 martie 2010

Programare - Pasul 3

Am invatat sa citim siruri de caractere si numere. Hai sa ne jucam un pic cu ele.

Vom crea un program care citeste de la tastatura numele si varsta a doua persoane si afiseaza pe ecran persoana mai tanara. Pentru asta vom folosi instructiunea decizionala if care are urmatoarea structura:

if contitie:
      actiune unu
else:
      actiune doi


Exemplu 1


nume1=input("Nume1 : ")
varsta1=input("Varsta1 = ")
nume2=input("Nume2 : ")
varsta2=input("Varsta2 = ")
if (varsta1 < varsta2):
      print nume1," e mai tanar"
else:
      print nume2," e mai tanar"


Scrie codul de mai sus si ruleaza programul. Nu uita cand citesti numele sa il introduci intre apostrofuri (ex. 'Sorin')

Programul, in starea in care e acum, e corect doar pe jumatate. Am sa iti spun imediat si de ce. Citeste doua varste egale si vezi rezultatul. Ce mesaj primesti ? Care dintre cei doi e mai mare ? Din cate se pare nu am luat in calcul si varianta asta.

Observatie: Pentru a putea defini mai multe conditii pentru instructiunea decizionala folosim instructiunea elif.

if contitie:
      actiune unu
elif conditie:
      actiune doi
else:
      actiune trei



Dupa modificare, programul va arata in halul urmator:


nume1=input("Nume1 : ")
varsta1=input("Varsta1 = ")
nume2=input("Nume2 : ")
varsta2=input("Varsta2 = ")
if (varsta1 < varsta2):
      print nume1," e mai tanar"
elif (varsta2 < varsta1):
      print nume2," e mai tanar"
else:
      print "Varstele sunt egale"


Observatie: atentie la indentare! Incepand de acum o vom folosi tot mai des. Sfatul meu e sa folosesti doar TAB-ul si nu SPACE-ul atunci cand indentezi. In acest fel ai mai putine sanse sa iti apara erori la rularea codului sursa.