Πολλές φορές δε γνωρίζουμε τον αριθμό των επαναλήψεων. Για παράδειγμα
i = 0while i < 5: print(i) i = i + 101234Στην εντολή while πρέπει να φροντίζουμε κάποια στιγμή η συνθήκη να γίνει ψευδής ώστε να τερματίσει η επανάληψη κάποια στιγμή. Στο παράδειγμα δίπλα επανάληψη δε θα τελειώσει ποτέ!
# DANGER! Δεν τερματίζει ποτέ!i = 0while i < 5: print(i) i = i - 1i = 0while i < 5: print(i) i = i + 1for i in range(5): print(i)Εισαγωγή δεδομένων μέχρι να φτάσουμε ένα επιθυμητό σύνολο
total = 0while total < 100: weight = int(input("Δώσε βάρος προιόντος:")) total = total + weightprint("Σύνολο =", total, "Kg")Δώσε βάρος προιόντος: 5Δώσε βάρος προιόντος: 90Δώσε βάρος προιόντος: 10Σύνολο = 105 KgΡίχνουμε ζάρι τυχαία μέχρι να φέρουμε 6
import randomzari = 0while (zari != 6): zari = random.randint(1,6) print(zari)print("Εξάρι!")51136Εξάρι!Επαλήθευση κωδικού ώστε να έχει τουλάχιστον 6 χαρακτήρες
password = ""while len(password) < 6: password = input("Δώσε νέο κωδικό, 6 χαρακτήρες τουλάχιστον")print("Ο κωδικός σας άλλαξε!")Ο χρήστης απαντά μέχρι να δώσει τη σωστή απάντηση. Παράλληλα μετράμε τις προσπάθειες.
print("Ποιος σκηνοθέτησε τη ταινία Reservoir Dogs;")print("1. Stanley Kubrick")print("2. Quentin Tarantino")print("3. Theodoros Angelopoulos")print("4. Martin Scorsese")tries = 0answer = 0while answer != 2: answer = int(input("Βρες τη σωστή απάντηση >")) if answer != 2: print("Πρέπει να ξαναδοκιμάσεις.") tries = tries + 1 print()print("MΠΡΑΒΟ, απάντησες σωστά μετά από", tries, "προσπάθειες")Ζητάμε πολλαπλά δεδομένα από τον χρήστη χωρίς να γνωρίζουμε πόσα.
done = Falsesum_data = 0count = 0print("Δώσε αριθμούς ακεραίους, πληκτρολόγησε q για να σταματήσεις")while not done: data = input(">") if data == 'q': print("Ευχαριστώ") done = True else: sum_data = sum_data + int(data) count = count + 1print()print("Αθροισμα = ", sum_data)print("Μ.Ο. = ", sum_data/count)Να γράψετε ένα πρόγραμμα με βρόγχο επανάληψης while όπου:
zari1 και zari2)