Do dyspozycji mamy dwa rodzaje pętli:
- while warunek – pętla wykonywana jest dopóki spełniony jest warunek,
- for i in lista – pętla wykonywana jest dla wszystkich liczb i należących do listy.
Korzystając z pętli while, obliczymy przybliżoną wartość sumy szeregu $$\sum \limits_{n=1}^\infty \frac{1}{n^2}$$
Zsumujemy skończoną ilość wyrazów, obliczenia przerwiemy gdy kolejny obliczony wyraz będzie mały.
suma = 0
n = 1
epsilon = 0.00000001
wyraz = 1
while wyraz > epsilon:
suma = suma + wyraz
n = n + 1;
wyraz = 1.0/(n*n)
print(suma) ⇒ 1.64483406185
Czy wynik jest poprawny
Zaawansowanymi metodami analizy matematycznej (szeregi Fouriera) można wykazać, że: $$\sum \limits_{n=1}^\infty \frac{1}{n^2}=\frac{\pi^2}{6}$$
- wynik prawie dokładny = 1.6449340668482264
- nasze przybliżenie = 1.64483406185
- różnica 1 - 2 = 0.000100005000161
Ukryj
Pętle
for wykorzystamy do obliczenia i wyświetlenia wartości silni.
n = 30
wynik = 1
for k in range(1, n+1):
wynik = wynik*k
print(k, "! = ", wynik, sep = '')
Funkcja
range(a, b) (liczby
a i
b są całkowite) zwraca listę liczb
[a, a + 1, ..., b - 1]
Wyniki
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
...
25! = 15511210043330985984000000
26! = 403291461126605635584000000
27! = 10888869450418352160768000000
28! = 304888344611713860501504000000
29! = 8841761993739701954543616000000
30! = 265252859812191058636308480000000
Ukryj