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

Inteligența artificială în serviciile de informații, apărare și securitatea națională
Inteligența artificială în serviciile de informații, apărare și securitatea națională

Perfectă pentru oricine investit în viitorul AI în securitate. Rămâi în față în înțelegerea puterii transformatoare a AI.

Nu a fost votat $1.99$3.71 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Adobe Photoshop pentru începători
Adobe Photoshop pentru începători

Descoperă-ți potențialul creativ și învață să creezi imagini care vor captiva.

Nu a fost votat $1.99$4.31 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Căutarea, extragerea, organizarea și evaluarea informațiilor
Căutarea, extragerea, organizarea și evaluarea informațiilor

Transformă informația în putere cu ajutorul acestei cărți indispensabile!

Nu a fost votat $3.99$9.61 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

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