Hazardul
				Mulți dintre voi poate ați jucat la 
Loto 6/49, unde nu putem prezice acele șase numere valoroase... 
				cu toată statistica din lume, iar doar 
o întâmplare fericită! ne poate conduce la ghicirea lor, având în vedere 
				că sunt 
13.983.816 variante posibile:
				
				
				
				
				Mai sus sunt afișate 
6 numere între 
1 și 
69 la întâmplare, de fiecare dată când reîmprospătați pagina! 
Succes!
				
				De altfel și jocurile pe calculator conțin numere la întâmplare, numite 
aleatoare, astfel încât de fiecare dată 
				pare că totul este altfel, 
un nou scenariu, un nou set de culori, bile ori inamici care apar din poziții diferite:
				
				
				
				Botul Kyle din 
CS:GO ... te cam ia cu 
AWP-ul din pozițiile clasice de pe hartă, nu e așa? Bineînțeles că are anumite locații
				pe care le estimează în funcție de mulți factori, există algoritmi avansați A.I., dar... e adesea în altă parte, nu?
				
				Un 
număr aleator este în esență unul care nu poate fi prezis de utilizator. De fapt, în spate există 
un generator 
				(
o funcție) care ne oferă la fiecare apelare un astfel de număr. Ele sunt 
pseudo-aleatoare, în sensul că sunt create 
				în urma unor 
calcule matematice complexe.
				
				
Foarte fain! Website-ul [
random.org] folosește 
				
zgomotul atmosferic și 
calcule complexe pentru a 
				genera numere aleatoare reale, iar pagina este folosită în foarte multe domenii de activitate.
				
				
				
Cum le generăm în Python 3?
				Setul de funcții pe care îl conține 
implicit limbajul 
Python nu este foarte mare, însă este extins prin 
module precum
				ați văzut în cazul [
turtle].
				
				Unul dintre acestea este 
random, creat special pentru a 
genera numere aleatoare. 
				Pentru a putea folosi funcțiile sale, la începutul programului vom scrie "
import random", 
				care încarcă modulul și ne oferă acces la el:			
						
				
				
				
				
				
					| Editor - lectia13_random.py
					 | 
						 | 
				 				
				 
				
				
				
				OBSERVAȚII IMPORTANTE
				
				
				Am importat modulul 
random, apoi am tipărit seturi de câte cinci numere aleatoare folosind instrucțiunea 
for pentru iterații.
				
				Pentru a apela o funcție din cadrul unui modul, scriem:
				
				
nume_modul.funcția_dorită
				
				Prima oară am folosit chiar funcția 
random(), care generează 
un număr real, de tip 
float, 
				în intervalul 
[0.0, 1.0) – funcția nu acceptă parametri.
				
				Bineînțeles, nu ne prea ajută aceste numere... Cum putem însă afișa numere aleatoare întregi între 
0 și 
100? Sau între 
0 și 
10000?
				
				
				
Numere întregi
				Dacă a fost generat 
0.483421... Înmulțindu-l cu 
100, se obține 
48.3421, 
				care apoi rotunjit spre un număr întreg devine 
48.
				
				Înmulțindu-l cu 
10000 și rotunjindu-l, se obține 
4834...
				
				Dar de la 
1 la 
100? Păi simplu, adunăm 
1 la valoarea generată până la 
99, ca mai jos:
				
				
round(random.random()*99 + 1)
				
				
				Numere întregi dintr-un interval
				Cum putem genera numere întregi între 
20 și 
70, spre exemplu?
				
				Putem tipări, precum anterior, numere între 
0 și 
50. Doar adunăm 
20 pentru fiecare număr în parte apoi:
				
				
round(20 + random.random()*50)
				
				
				Să analizăm și alte funcții ale modulului random în cele ce urmează.
				
				
				
				
				Avansează la pagina următoare.
				
				
				
				
					Cărțile editurii noastre
				
				
				
				
				O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic] 
				securizat sub formă 
de fișier *.pdf.
				
				
				
				"
O cameră fără cărţi este ca un corp fără suflet." 
(G. K. Chesterton)
				
				
				
					Cursanții au mai cumpărat ...
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				[
vezi lista completă a cărților]