Δημοσιεύτηκε: 13 Νοέμ 2010, 13:31
από medigeek
Σωστός ο Nestor και ο cyberpython, παίρνουν αστεράκι. :P Αν και άργησα, μιας και τα έγραψα, είπα να τα επεξηγήσω ακόμη μια φορά.

@yodan000:
- Το range παίρνει το πολύ 3 τιμές: αρχική, τελική και το "βήμα" (κάθε πόσα να μετράει).
Το range δίνει ακέραιους αριθμούς θετικούς(1,2,3,4,5..) ή/και αρνητικούς (-10,-9,-8,-7...).

1. Με την αρχική τιμή λες στο πρόγραμμα που να αρχίσει να μετράει.
2. Με την τελική τιμή λες στο πρόγραμμα που να σταματήσει να μετράει. Στα μαθηματικά όταν δίνουμε όρια πάντα ορίζουμε αν συμπεριλαμβάνεται η αρχική και η τελική τιμή ή όχι. Το πρόγραμμα python με την εντολή range() ΔΕΝ συμπεριλαμβάνει αυτή την τελική τιμή, μόνο ακέραιους λιγότερους από την τελική τιμή που έθεσες.
3. Με το "βήμα" θέτεις πόσους αριθμούς να μετράει κάθε φορά. Π.χ. αν η αρχική τιμή είναι 1 και το βήμα είναι 3, το πρόγραμμα θα μετράει: 1, 1+3=4, 4+3=7, 7+3=10, ... μέχρι να φτάσει στην τελική τιμή.

Παραδείγματα
Με παραδείγματα πίστεψα πως θα καταλάβεις. Ορίστε μερικά ακόμη:
Για το "βήμα":
- Αν δεν θέσεις το "βήμα", εννοείται πως θα πάει ένα-ένα (+1) ακέραιο αριθμό κάθε φορά.

Αυτό:
Κώδικας: Επιλογή όλων
for x in range(1, 5): print(x)

και αυτό:
Κώδικας: Επιλογή όλων
for x in range(1, 5, 1): print(x)

είναι το ίδιο πράγμα.

- Αν θέλεις ακέραιους από το 1 μέχρι το 10 (χωρίς να συμπεριλάβεις τον ακέραιο 10) και μεταπηδάς 1 ακέραιο αριθμό κάθε φορά:
Κώδικας: Επιλογή όλων
for x in range(1, 10, 1): print(x)

1, 2, 3, 4, 5, 6, 7, 8, 9
Η λογική πίσω από την εντολή - από το 1 μέχρι το 10, +1 κάθε φορά:
(1, 1+1, 2+1, 3+1, 4+1, 5+1, 6+1, 7+1, 8+1) - STOP! - η τιμή να είναι κάτω από 10

- Αν θέλεις ακέραιους από το 1 μέχρι το 10 (χωρίς να συμπεριλάβεις τον ακέραιο 10) και μεταπηδάς 2 ακέραιους αριθμούς κάθε φορά:
Κώδικας: Επιλογή όλων
for x in range(1, 10): print(x)

1, 3, 5, 7, 9

Η λογική πίσω από την εντολή - από το 1 μέχρι το 10, +2 κάθε φορά:
(1, 1+2, 3+2, 5+2, 7+2) - STOP! - η τιμή να είναι κάτω από 10

Με ή χωρίς την τελική τιμή;
- Αν θέλεις ακέραιους από το 1 μέχρι το 5 (συμπεριλαμβανομένου τον ακέραιο 5) πρέπει να θέσεις τελική τιμή το 6:
Κώδικας: Επιλογή όλων
for x in range(1, 6, 1): print(x)

1, 2, 3, 4, 5

- Αν θέλεις ακέραιους από το 1 μέχρι το 5 (μη συμπεριλαμβανομένου τον ακέραιο 5) πρέπει να θέσεις τελική τιμή το 5:
Κώδικας: Επιλογή όλων
for x in range(1, 5, 1): print(x)

1, 2, 3, 4