|
- Programming4Fun http://www.programming4fun.pun.pl/index.php - Poradniki http://www.programming4fun.pun.pl/viewforum.php?id=21 - Kurs Pythona. Część 4. http://www.programming4fun.pun.pl/viewtopic.php?id=12 |
| Hoguzzos - 2014-07-10 21:35:54 |
ŹRÓDŁO : http://szgrabowski.kis.p.lodz.pl/Python-podstawy.html Kod:for i in range(10): print i, wypisze liczby od 0 do 9 oddzielone spacjami. Co znaczy range? Generuje ono zakres, tj. listę złożoną z liczb naturalnych tworzących szereg arytmetyczny. Są 3 warianty range: Kod:range(n) # n > 0, lista [0, 1, 2, ..., n-1] range(m, n) # m < n, lista [m, m+1, …, n-1]; jeśli m >= n, to lista pusta range(m, n, step) # jak wyżej, ale co step wartości Np.: Kod:range(0, 12, 2) # [0, 2, 4, 6, 8, 10] range(1, 7) # [1, 2, 3, 4, 5, 6] Powyższy opis nie jest kompletny, można i tak: Kod:range(5, 1, -1) # [5, 4, 3, 2] range(8, -1, -2) # [8, 6, 4, 2, 0] A teraz iterowanie po liście: Kod:for i in varia: print i A może z pominięciem pierwszego elementu? Proszę: Kod:for i in varia[1:]: print i Można iterować po stringu (który też jest „sekwencją”): Kod:s = "Witaj!" for i in s: print i, Z pętli można szybciej wyjść poprzez break (znów „inspiracja” z języka C): Kod:for i in range(20):
print i,
if i % 5 == 4:
breakOdpowiedz, ile liczb pojawi się na ekranie. Kod:x = -1 while x < 3: print x, x += 1 print "koniec" Jak zatem „zasymulować” pętlę do...while, znaną z C (czy jej odpowiednik repeat...until z Pascala)? Aby warunek sprawdzany był na końcu? Kod:while True:
...
if warunek_wyjścia:
break
# ciąg dalszy programuPrzykład: chcemy zsumować odwrotności kolejnych liczb naturalnych, aż suma przekroczy 5. Kod: Kod:j = 0
suma = 0.0
while True:
j += 1
suma += 1/float(j) # można i tak zamiast np. 1./j
if suma > 5:
break
print "zsumowano", j, "składników, suma wynosi", suma// Wyszło niezbyt po polsku: "83 składników", ale nie będziemy się teraz tym martwić |