[0, 1, 2, 3, 4]
Η εντολή break, όπως και στη C, βγαίνει εκτός του
εσωτερικότερου βρόχου for ή while, από τον οποίο
περικλείεται.
Οι δηλώσεις Loop μπορεί να έχουν έναν όρο else, να
εκτελείται όταν ο βρόχος τερματίζει με εξάντληση της λίστας
(με for) ή όταν η κατάσταση γίνεται ψευδής (με while), αλλά
όχι όταν ο βρόχος τερματίζεται με την εντολή break. Αυτό
επεξηγείται από τον επόμενο βρόχο, o οποίow ψάχνει για τους
πρώτους αριθμούς:
>>>
for
n
in
range
(
2
,
10
):
...
for
x
in
range
(
2
, n):
...
if
n
%
x
==
0
:
...
(n,
'equals'
, x,
'*'
, n
//
x)
...
break
...
else
:
...
# loop fell through without finding a factor
...
(n,
'is a prime number'
)
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
Ο παραπάνω κώδικας είναι σωστός. Κοιτάξτε προσεκτικά:
Η else ανήκει στον βρόχο for και όχι στην if.
Η δήλωση continue, έχει επίσης δανειστεί από την C και
συνεχίζει με την επόμενη επανάληψη του βρόχου:
>>>
for
num
in
range
(
2
,
10
):
...
if
num
%
2
==
0
:
...
(
"Found an even number"
, num)
...
continue
- A Mini greek notebook for Learning Python Programming
19