Home » Articole » Articole » Calculatoare » Programare » Python » Limbajul de programare Python: Numărarea până la 10 – Bucla While

Limbajul de programare Python: Numărarea până la 10 – Bucla While

postat în: Python 0

Vă prezentăm prima noastră structură de control. De obicei, computerul începe cu prima linie și apoi coboară de acolo. Structurile de control modifică ordinea în care sunt executate instrucțiunile sau decid dacă o anumită instrucțiune va fi rulată. Iată sursa unui program care utilizează structura de control while:

a = 0 			# ÎNTÂI, setați valoarea inițială a variabilei a la 0 (zero).
while a < 10: 		# În timp ce valoarea variabilei a este mai mică de 10, faceți următoarele:
	a = a + 1 	# Creșteți valoarea variabilei a cu 1, ca în: a = a + 1!
	print(a) 	# Imprimați pe ecran care este valoarea actuală a variabilei a.
			# REPETAȚI! până când valoarea variabilei a este egală cu 9!? Vezi nota.

			# NOTĂ:
			# Valoarea variabilei a va crește cu 1
			# cu fiecare repetare sau buclă a „instrucțiunii while BLOCK”.
			# de exemplu a = 1 apoi a = 2 apoi a = 3 etc. până la a = 9 apoi...
			# codul va termina adăugarea 1 la a (acum a = 10), imprimând
			# rezultatul și apoi ieșirea din „instrucțiunea while BLOCK”.
			# 		--
			# While   a < 10: |
			# 	a = a + 1 |<--[ Instrucțiunea while BLOCK ]
			# 	print (a) |
			#		 --

Și iată rezultatul extrem de interesant:

1
2
3
4
5
6
7
8
9
10

(Și ați crezut că nu se poate mai rău după ce v-ați transformat computerul într-un calculator de cinci dolari?)

Deci, ce face programul? Mai întâi vede linia a = 0 și setează a la zero. Apoi vede while a < 10: și astfel computerul verifică dacă a < 10. Prima dată când computerul vede această afirmație, a este zero, deci este mai mic decât 10. Cu alte cuvinte, atâta timp cât a este mai mic de zece, computerul va rula filele în declarații. Acest lucru în cele din urmă face a egal cu zece (prin adăugarea de unu la a din nou și din nou) și cât timp a < 10 nu mai este adevărat. Ajungând în acel punct, programul va opri rularea liniilor indentate.

Nu uitați întotdeauna să puneți două puncte „:” la sfârșitul liniei de instrucțiune while!

Iată un alt exemplu de utilizare a lui while:

a = 1
s = 0
print('Enter Numbers to add to the sum.')
print('Enter 0 to quit.')
while a != 0:                           
    print('Current Sum:', s)            
    a = float(input('Number? '))        
    s = s + a                            
print('Total Sum =', s)
Enter Numbers to add to the sum.
Enter 0 to quit.
Current Sum: 0
Number? 200
Current Sum: 200.0
Number? -15.25
Current Sum: 184.75
Number? -151.85
Current Sum: 32.9
Number? 10.00
Current Sum: 42.9
Number? 0
Total Sum = 42.9

Observați cum print('Total Sum =', s) este rulat doar la sfârșit. Instrucțiunea while afectează numai liniile care sunt indentate cu spații albe. != înseamnă nu este egal, deci
while a != 0:
înseamnă, atâta timp cât a nu este zero, rulați instrucțiunile cu file care urmează.

Rețineți că a este un număr în virgulă mobilă și nu toate numerele în virgulă mobilă pot fi reprezentate cu acuratețe, așa că utilizarea lui != pe ele nu poate funcționa uneori. Încercați să introduceți 1.1 în modul interactiv.

Bucle infinite sau buclă fără sfârșit

Acum că avem bucle while, este posibil să avem programe care rulează pentru totdeauna. O modalitate ușoară de a face acest lucru este să scrieți un program ca acesta:

while 1 == 1:
   print("Help, I'm stuck in a loop.")

Operatorul „==” este folosit pentru a testa egalitatea expresiilor de pe cele două părți ale operatorului, la fel cum „<” a fost folosit pentru „mai puțin decât” înainte (veți obține o listă completă a tuturor operatorilor de comparație în capitolul următor ).

Acest program va obține Help, I'm stuck in a loop. până la moartea termică a universului, sau îl oprești, pentru că 1 va fi totdeauna egal cu 1. Modul de a-l opri este să apeși butonul Control (sau Ctrl) și C (litera) în același timp. Acest lucru va ucide programul. (Notă: uneori va trebui să apăsați enter după Control-C.) Pe unele sisteme, nimic nu îl va opri, cu excepția uciderii procesului – așa că evitați!

Exemple

Secvența Fibonacci

Fibonacci-metoda1.py

# Acest program calculează șirul lui Fibonacci
a = 0
b = 1
count = 0
max_count = 20

while count < max_count:
    count = count + 1
    print(a, end=" ")   # Observați magic end=" " din argumentele funcției de imprimare
			# care îl împiedică să creeze o nouă linie.
    old_a = a    # trebuie să ținem evidența lui a când îl schimbăm.
    a = b
    b = old_a + b
print()  # gets a new (empty) line.

Ieșire:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Rețineți că rezultatul este pe o singură linie din cauza argumentului suplimentar end=” ” din argumentele de tipărire.

Fibonacci-method2.py

# Metodă simplificată și mai rapidă de calculare a succesiunii Fibonacci
a = 0
b = 1
count = 0
max_count = 10

while count < max_count:
    count = count + 1
    print(a, b, end=" ")  # Notice the magic end=" "
    a = a + b    
    b = a + b
print()  # gets a new (empty) line.

Ieșire:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Fibonacci-method3.py

a = 0
b = 1
count = 0
maxcount = 20

#once loop is started we stay in it
while count < maxcount:
    count += 1
    olda = a
    a = a + b
    b = olda
    print(olda,end=" ")
print()

Ieșire:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Introdu parola

Password.py

# Așteaptă până când a fost introdusă parola. Folosește Control-C pentru a ieși fără
# parola

#Rețineți că aceasta nu trebuie să fie parola, astfel încât
# bucla while rulează cel puțin o dată.
parola = str()

# rețineți că != înseamnă nu este egal
while password != "unicorn":
    password = input("Password: ")
print("Welcome in")

Exemplu de rulare:

Password: auo
Password: y22
Password: password
Password: open sesame
Password: unicorn
Welcome in

Exerciții

Scrieți un program care să solicite utilizatorului un nume de conectare și o parolă. Atunci, când cineva scrie „lock”, să-și introducă numele și parola pentru a debloca programul.

Soluție
name = input("What is your UserName: ")
password = input("What is your Password: ")
print("To lock your computer type lock.")
command = None
input1 = None
input2 = None
while command != "lock":
    command = input("What is your command: ")
while input1 != name:
    input1 = input("What is your username: ")
while input2 != password:
    input2 = input("What is your password: ")
print("Welcome back to your system!")

Dacă doriți ca programul să ruleze continuu, adăugați doar un
while 1 == 1
: bucla în jurul întregului lucru. Va trebui să indentați restul programului atunci când adăugați acest lucru în partea de sus a codului, dar nu vă faceți griji, nu trebuie să o faceți manual pentru fiecare linie! Doar evidențiați tot ceea ce doriți să indentați și faceți clic pe „Indent” sub „Format” în bara de sus a ferestrei Python.

Un alt mod de a face acest lucru ar putea fi:

name = input('Set name: ')
password = input('Set password: ')
while 1 == 1:
    nameguess=""
    passwordguess=""
    key=""
    while (nameguess != name) or (passwordguess != password):
        nameguess = input('Name? ')
        passwordguess = input('Password? ')
    print("Welcome,", name, ". Type lock to lock.")
    while key != "lock":
        key = input("")

Observați or în while (nameguess != name) or (passwordguess !=
password)
, pe care nu le-am introdus încă. Probabil vă puteți da seama cum funcționează.

Include texte din Wikibooks traduse și adaptate de Nicolae Sfetcu

Tehnologia Blockchain - Bitcoin
Tehnologia Blockchain – Bitcoin

Transformă-ți perspectiva asupra tehnologiei blockchain și începe să descoperi oportunitățile digitale de mâine!

Nu a fost votat Interval de prețuri: 23.09 lei până la 55.48 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Ghid WordPress pentru începători
Ghid WordPress pentru începători

Descoperă arta gestionării site-urilor web cu WordPress!

Nu a fost votat Interval de prețuri: 13.84 lei până la 25.36 lei Citește mai mult
Cunoaștere și Informații
Cunoaștere și Informații

Plonjează în universul complex al cunoașterii și informațiilor cu această carte captivantă

Nu a fost votat Interval de prețuri: 27.72 lei până la 83.48 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.


Descoperă mai multe la MultiMedia

Abonează-te ca să primești ultimele articole prin email.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *