🍋Κ15 - For (3-Φάσεις)

Σε αυτό το κεφάλαιο θα χρησιμοποιήσουμε την δομή επανάληψης For για να φτιάξουμε πιο χρήσιμα προγράμματα.

 Συνήθως τα προγράμματα αυτού του επιπέδου είναι ανεπτυγμένα αρκετά ώστε οι προδιαγραφές να απαιτούν να έχουν την προσέγγιση των «3 Φάσεων»

 

Προσέγγιση των «3 Φάσεων»

  1. Αρχικοποίηση 
  2. Επεξεργασία / Υπολογισμός
  3. Εμφάνιση

 

Ας δούμε ένα παράδειγμα το οποίο εφαρμόζει την προσέγγιση των «3 Φάσεων» σε ένα πρόγραμμα.

 

 

Παράδειγμα - Άθροισμα της παράστασης   1 + 2 + 3 + ... + 9 + 10

#Φάση 1 - Αρχικοποίηση sum = 0 # Φάση 2 - Επεξεργασία / Επανάληψη for x in range(1, 11): sum = sum + x # Φάση 3 - Εμφάνιση Αποτελέσματος print(sum) print = display

Οπτικοποίηση (Animation):

  • Γραμμή 2: Εκτελείται μόνο μία φορά καθώς είναι πριν την δομή επανάληψης.
  • Οι Γραμμές 5 & 6 εκτελούνται πολλές φορές επειδή είναι μέσα στο μπλοκ της επανάληψης For.
  • Όταν φτάνει στην Γραμμή 6 πάει ξανά στην αρχή της επανάληψης, δηλαδή στην Γραμμή 5. Σαν τραμπολίνο.  
  • Όταν η μεταβλητή  x  φτάσει την τιμή 11 τότε η επανάληψη τερματίζεται και φεύγουμε από το loop και προσπερνάμε όλες τις γραμμές και πάμε κατευθείαν στην Γραμμή 9.

 


 

Παράδειγμα - Άθροισμα της παράστασης   1 + 2 + 3 + ... + 99 + 100

#Φάση 1 - Αρχικοποίηση sum = 0 # Φάση 2 - Επεξεργασία / Επανάληψη for x in range(1, 101): sum = sum + x # Φάση 3 - Εμφάνιση Αποτελέσματος print(f"sum= {sum}") print = display

 

 

 

Παράδειγμα - Άθροισμα των περιττών αριθμών στο διάστημα [0,100]

δλδ  1 + 3 + 5 + ... + 99

sum = 0 for x in range(1, 101, 2): sum = sum + x print(f"sum= {sum}") print = display

 

 

 

⚙️Άσκηση - Άθροισμα των αριθμών που είναι πολλαπλάσια του 3 και του 7 στο διάστημα [0,1000]

Να συμπληρώσετε τα κενά ___1___ , ____2____ και ___3___ στο παρακάτω τμήμα Python ώστε να υπολογίζει και να εμφανίζει το άθροισμα των αριθμών που είναι πολλαπλάσια του 3 και του 7 (ταυτόχρονα) στο διάστημα [0,1000].

sum = 0 for x in range( ___1___ ): if ___2___ and ___3___ : sum = sum + x print(f"sum= {sum}") print = display

 

 

 

⚙️Άσκηση - Γινόμενο των αριθμών στο διάστημα [1,100]

Να συμπληρώσετε τα κενά ___1___ και ___2___ στο παρακάτω τμήμα Python ώστε να υπολογίζει και να εμφανίζει το γινόμενο των αριθμών στο διάστημα [0,100].

prod = 1 for x in range( ___1___ ): prod = ___2___ print(f"prod= {prod}") print = display

 

 

 

Παράδειγμα - Χαρτζιλίκι του Μήνα 💰

Το παρακάτω τμήμα Python υπολογίζει και να εμφανίζει το άθροισμα από το χαρτζιλίκι ενός παιδιού αν οι γονείς του το  διπλασιάζουν κάθε μέρα που περνάει. Υποθέτουμε ότι την πρώτη μέρα του δίνουν 1€

sum = 0 xartz = 1 for x in range(1,31): print(f"{x}η ημέρα: {xartz}€ ") sum = sum + xartz xartz = xartz * 2 print(f"sum= {sum}") print = display

 

 

 

Παράδειγμα - Βότσαλα 🪨

Το παρακάτω τμήμα Python υπολογίζει τα συνολικά βότσαλα (🪨) που μάζεψε μία κυρία από την παραλία μέσα στις 90 ημέρες του καλοκαιριού. 

import random sum = 0 for x in range(1,91): sum = sum + random.randint(1,10) print(f"{x}η ημέρα μάζεψε: {sum}🪨") print = display

 

 

 

⚙️Άσκηση - Μέλισσες 🐝

Να αντικαταστήσετε τα κενά ___1___ και ___2___ στο παρακάτω τμήμα Python ώστε να υπολογίζει και εμφανίζει τον συνολικό αριθμό των μελισσών (🐝) μιας κερύθρας αν κάθε μέρα στην διάρκεια ενός μήνα (30 ημέρες) οι μέλισσες αυξάνονται κατά +30.  

sum = 100 for x in range(1, ___1___ ): sum = ___2___ print(f"{x}η μέρα: {sum}🐝") print = display

 

 

 

Παράδειγμα - Τόκος 💰

Να αντικαταστήσετε τα κενά ___1___ και ___2___ στο παρακάτω τμήμα Python ώστε να υπολογίζει και εμφανίζει τα χρήματα που θα πληρώσει ένας φίλος σας ως τόκο, αν κάθε μέρα το ποσό αυξάνεται κατά 1% του ποσού που του δανείσατε.  

import random money = float(input("Days: ")) days = int(input("Money: ")) sum = money for x in range(1, days+1): sum = sum + 1/100*money print(f"{x}η μέρα: {round(sum,1)}") print = display

 

 

 

Παράδειγμα - Αμοιβή του Δημιουργού του Σκακιού ♟️

Το σκάκι φημολογείται ότι δημιουργήθηκε από έναν ινδό σοφό. Ο βασιλιάς του ζήτησε τι θα ήθελε ως ανταμοιβή για το έξυπνο παιχνίδι που έφτιαξε. Ο σοφός ζήτησε ως ανταμοιβή τους κόκκους ρυζιού που βγαίνουν ως αποτέλεσμα αν σε κάθε τετράγωνο του σκακιού βάζαμε τους διπλάσιους σπόρους ρύζι από το προηγούμενο τετράγωνο. Στο 1ο τετράγωνο ξεκινάμε με 1 κόκκο ρυζιού.

Το παρακάτω τμήμα Python υπολογίζει τους κόκκους ρυζιού  που πήρε ως ανταμοιβή ο σοφός όπως περιγράφηκε παραπάνω. 

sum = 0 ryz = 1 for x in range(1,65): print(f"{x}o τετράγωνο: {ryz}🍥") sum = sum + ryz ryz = ryz * 2 print(f"sum= {sum}🍥") print = display

 

 

 

⚙️Άσκηση - Παραγοντικό N! 

Να συμπληρώσετε τα κενά  ___1___  και  ___2___  ώστε το παρακάτω τμήμα προγράμματος Python να υπολογίζει το παραγοντικό ενός αριθμού. Παραγοντικο είναι το γινόμενο όλων των ακέραιων αριθμών από την μονάδα μέχρι τον αριθμό.

Π.χ. 

6! = 1*2*3*4*5*6

Ο αριθμός  n  δίνεται από γεννήτρια αριθμών, οπότε θεωρήστε δεδομένη μεταβλητή.

import random n = random.randint(1,10) prod = 1 for x in range(1, ___1___): prod = ___2___ print(f"prod= {prod}") print = display

 

 

 

Παράδειγμα - Το μισό του μισού του μισού...

Το παρακάτω τμήμα Python υπολογίζει και εμφανίζει το αποτέλεσμα ενός αριθμού όταν διαιρεθεί κατά το ήμισυ 7 διαδοχικές φορές

½ ½ ½ ½ ½ ...

import random num = random.randint(100,1000) print(f"num= {num}") for x in range(1,8): num = num / 2 print(f"{x}η φορά: {num}") print = display

 

 

 

Παράδειγμα - Κορώνα  / Γράμματα 🪙

Το παρακάτω τμήμα Python υπολογίζει και εμφανίζει το αποτέλεσμα ύστερα από 7 διαδοχικούς γύρους στοιχήματος για το παιχνίδι Κορώνα/Γράμματα (🪙) μεταξύ δύο φίλων. 

import random sum1 = 0 sum2 = 0 for x in range(1,8): player1 = random.choice(['κ','γ']) if player1 == 'γ': player2 = 'κ' else: player2 = 'γ' result = random.choice(['κ','γ']) bet = random.randint(1,5) print(f"player1= {player1} ● player2= {player2} ● result= {result} ● bet= {bet}€") if player1 == result: sum1 = sum1 + bet sum2 = sum2 - bet print(f"Νίκησε ο Player1") else: sum1 = sum1 - bet sum2 = sum2 + bet print(f"Νίκησε ο Player2") print("◊ ◊ ◊") print(f"sum= {sum1} ● sum2= {sum2}") print = display

 

 

 

 


Παράδειγμα - ...