🍐Κ6 - Ακέραια Διαίρεση & Υπόλοιπο

Αν και σε προηγούμενο κεφάλαιο μιλήσαμε για τους Τελεστές και τις Εκφράσεις, οι τελεστές της Ακέραιας Διαίρεσης και του Ακέραιου Υπολοίπου αξίζουν ένα κεφάλαιο αφιερωμένο σε αυτούς για την καλύτερη κατανόησή τους.

 

Ο τελεστής της Ακέραιας Διαίρεσης να θυμίσουμε ότι είναι το σύμβολο  //

ενώ ο τελεστής του Ακέραιου Υπολοίπου είναι το σύμβολο  %

 

Η Ακέραια Διαίρεση είναι το ακέραιο μέρος της απλής διαίρεσης μεταξύ δύο αριθμών.

Π.χ. 

15 // 2 ⇒ 7 και όχι 7.5 που θα έδινε η απλή διαίρεση.

 

Το Ακέραιο Υπόλοιπο είναι το υπόλοιπο που μένει από την Ακέραια Διαίρεση.

Π.χ. 

15 % 2 ⇒ 1 διότι το 2 «χωράει» 7 ακέραιες φορές στο 15 και μένει υπόλοιπο 1.

 

 

Σενάρια Ακέραιας Διαίρεσης (//) και Ακέραιου Υπολοίπου (%)

 


 

Ίσως αναρωτιέστε: «Που χρησιμοποιούνται άραγε αυτοί οι τελεστές;»

 

 

Συνήθεις Περιπτώσεις Χρήσης Ακέραιας Διαίρεσης - Υπολοίπου

 

🔷Όταν θέλουμε να «σπάσουμε» έναν αριθμό και να εξάγουμε ψηφία του.

π.χ.

Να εξαχθούν τα ψηφία ενός ακέραιου διψήφιου αριθμού x στο διάστημα [10,99].

import random x = random.randint(10,100) digit1 = x // 10 digit2 = x % 10 print(f"digit1: {digit1} - digit2: {digit2}") print = display

 

 

🔷Όταν θέλουμε να υπολογίσουμε πλήρεις συλλογές ή «πακέτα».

π.χ.

Να υπολογιστούν πόσες (πλήρεις) εξάδες αυγών μπορούμε να φτιάξουμε όταν έχουμε στην διάθεσή μας eggs αυγά.

import random eggs = 155 packs = eggs // 6 print(f"{eggs}🥚 → Packs of eggs: {packs}📦") print = display

 


 

Παράδειγμα - Εξαγωγή Ψηφίων ενός Τριψήφιου Αριθμού 

Να γραφεί πρόγραμμα όπου να εξάγει «σπάει» τα ψηφία ενός τριψήφιου θετικού αριθμού κάνοντας χρήση των τελεστών της ακέραιας διαίρεσης (//) και του τελεστή του ακέραιου υπολοίπου (%).

import random x = random.randint(100,999) print(f"Number: {x}") d1 = x // 100 d2 = (x % 100) // 10 d3 = (x % 100) % 10 print(f"{d1} ◊ {d2} ◊ {d3}") print = display

 

 

 

⚙️Άσκηση - Εξαγωγή Ψηφίων ενός Τετραψήφιου Αριθμού 

Να γραφεί πρόγραμμα όπου να εξάγει «σπάει» τα ψηφία ενός τετραψήφιου θετικού αριθμού κάνοντας χρήση των τελεστών της ακέραιας διαίρεσης (//) και του τελεστή του ακέραιου υπολοίπου (%).

import random x = random.randint(1000,9999) print(f"Number: {x}") d1 = x // 1000 d2 = (x % 1000) // 100 d3 = ((x % 1000) % 100) // 10 d4 = ((x % 1000) % 100) % 10 print(f"{d1} ◊ {d2} ◊ {d3} ◊ {d4}") print = display

 

 

 

🏠Άσκηση - Εξαγωγή Ψηφίων ενός Πενταψήφιου Αριθμού 

Να αντικαταστήσετε τα κενά ___1___ , ___2___ , ___3___ , ___4___ και ___5___ του παρακάτω πρόγραμματος με κατάλληλες εντολές Python ώστε να εξάγει «σπάει» τα ψηφία ενός πενταψήφιου θετικού αριθμού.

📧Στείλτε screenshot ή copy&paste τον κώδικα στο email μου.

import random x = random.randint(10000,99999) print(f"Number: {x}") d1 = ___1___ d2 = ___2___ d3 = ___3___ d4 = ___4___ d5 = ___5___ print(f"{d1} ◊ {d2} ◊ {d3} ◊ {d4} ◊ {d5}") print = display

 

 

 

⚙️Άσκηση - Ολόκληρες Μέρες 

Αντικαταστήστε το κενό ___1___ ώστε να υπολογίζει ολόκληρες μέρες (days)από τις ώρες (hours) που δίνονται. 

import random hours = random.randint(1,72) print(f"Δεδομένες ώρες: {hours}") days = ___1___ print(f"Ολόκληρες μέρες: {days}") print = display