🍊Κ11 - Σύνθετη Δομή Επιλογής

 

Όπως αναφέραμε σε προηγούμενο κεφάλαιο χρησιμοποιούμε την Σύνθετη Δομή Επιλογής όταν θέλουμε να επιλέξουμε ένα μονοπάτι από τα δύο (2) που προσφέρονται. Επιλέγοντας το ένα προσπερνάμε ή απορρίπτουμε το άλλο υποχρεωτικά. Είναι ένα «στημένο» δίλημμα.

 

 

 

Π.χ.

«Θέλετε το φως ανοιχτό ή κλειστό;»

 

Αν «Ναι» τότε να είναι ανοιχτό το φως

Αλλιώς να είναι σβηστό το φως

 

 

 

Ακόμη ένα παράδειγμα,

«Επιλέγετε κορώνα ή γράμματα;»

 

Αν «Κορώνα» τότε εντολές1

Αλλιώς εντολές2

 

 


Συντακτικό / Μορφή Python Σύνθετης Δομής Επιλογής

 

 

Παράδειγμα - Έλεγχος αν ένας αριθμός είναι θετικός ή μη 

num = int( input("Please give number:") ) if num > 0: print("Positive number") else: print("Zero or Negative number") print = display

 

Ας εκτελέσουμε το παραπάνω πρόγραμμα με τιμή num = -10

  • Στην γραμμή 3 ελέγχεται η συνθήκη και τελικά διαπιστώνεται ότι δεν πληρείται
  • Η γραμμή 4 προσπερνάται διότι βγήκε Ψευδής η συνθήκη στην γραμμή 3
  • Αυτομάτως εκετελούνται οι γραμμές 5 και 6

 

Ας εκτελέσουμε τον ίδιο κώδικα αλλά με τιμή θετική αυτή τη φορά, num = 23

  • Στην γραμμή 3 ελέγχεται η συνθήκη και τελικά διαπιστώνεται ότι πληρείται
  • Εκετελείται η εντολή της γραμμής 4 εφόσον πέρασε τον έλεγχο στην γραμμή 3
  • Αυτομάτως προσπερνούνται οι γραμμές 5 και 6 εφόσον εκτελέστηκαν οι γραμμές 3 και 4.

 

 

 

Παράδειγμα - Διπλή Ζαριά 🎲

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

import random z1 = random.randint(1,6) z2 = random.randint(1,6) print(f"ζάρι1: {z1} - ζάρι2: {z2}") if z1 == z2: print("Διπλή Ζαριά") else: print("Δεν είναι διπλή ζαριά") print = display

 

 

 

⚙️Άσκηση - Έλεγχος αν μπορεί κάποιος να ψηφίσει ή όχι 📩

Αντικαταστήστε το κενό ____1____ με την κατάλληλη συνθήκη ώστε να ελέγχει αν ένα άτομο με ηλικία age μπορεί να ψηφίσει στην χώρα του όπου έχει θέσει όριο ηλικίας ίσο ή μεγαλύτερο από 17 έτη.  

Θεωρήστε την μεταβλητή age δεδομένη. 

######## ignore few lines below ######### import random # age = random.randint(1,100) # print(f"Ηλικία:{age} , Όριο:17") # ######## ignore lines above ############# if ___1___ : print('Δικαιούται να ψηφίσει') else: print('Δεν δικαιούται να ψηφίσει') print = display

 

 

 

🏠Άσκηση - «Καλός» Αριθμός

Αντικαταστήστε το κενό  ____1____ με κατάλληλη συνθήκη ώστε να ελέγχει και να εμφανίζει κατάλληλο μήνυμα αν ένας τυχαίος δεδομένος αριθμός num είναι «Καλός» ή όχι. «Καλός» αριθμός είναι ένας αριθμός όταν ισχύουν οι εξής προϋποθέσεις:

  • μικρότερος του 100 
  • δεν είναι ίσος με 21
  • δεν είναι ίσος με 22

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

import random num = random.randint(1,250) print(f"num= {num}") if ___1___ : print(f"Ο {num} είναι Καλός αριθμός") else: print(f"Ο {num} δεν είναι Καλός αριθμός") print = display

 

 

 

Παράδειγμα - Ποστοστό συμμετοχών για εκδρομή (75%)

Το παρακάτω τμήμα Python υπολογίζει αν μία Τάξη 50 μαθητών έχει το απαραίτητο ποσοστό συμμετοχών (75% και άνω)  για πάει την εκδρομή που σχεδιάζει.

import random students = random.randint(1,50) print(f"Συμμετοχές: {students}") percent = students / 50 * 100 print(f"{percent}%") if percent >= 75 : print(f"Αρκετές συμμετοχές!") else: print(f"Δυστυχώς δεν αρκούν οι συμμετοχές!") print = display

 

 

 

Παράδειγμα - Ποστοστό κάλυψης πρασίνου μιας πόλεως 🌳

Το παρακάτω τμήμα Python υπολογίζει αν μία πόλη 70000 τ.μ. είναι θεωρείται «πράσινη» ή όχι. «Πράσινη» θεωρείται μία πόλη αν καλύπτεται από πράσινο άνω του 20% της έκτασής της.

import random prasino = random.randint(1000,70000) print(f"Πράσινο: {prasino} τ.μ.") percent = prasino / 70000 * 100 print(f"{round(percent,2)}%") if percent > 20 : print(f"Πράσινη πόλη!") else: print(f"Δυστυχώς δεν θεωρείται πράσινη πόλη!") print = display

 

 

 

⚙️Άσκηση - Σημαντική Εστία Μόλυνσης

Το παρακάτω τμήμα Python υπολογίζει αν μία πόλη 6000 κατοίκων έχει σημαντική εστία μόλυνσης για COVID19. Αν το 20% και άνω των κατοίκων είναι μολυνσμένοι τότε έχει σημαντική εστία μόλυνσης.

######## ignore few lines below ######### import random # effected = random.randint(100,6000) # print(f"Μολυνσμένοι: {effected}") # ######## ignore lines above ############# percent = ___1___ print(f"{percent}%") if ___2___ : print(f"Σημαντική εστία μόλυνσης!") else: print(f"Δεν αποτελεί σημαντική εστία μόλυνσης.") print = display

 

 

 

⚙️Άσκηση - Πληρότητα Καφετέριας

Το παρακάτω τμήμα Python υπολογίζει αν μία μία καφετέρια είναι πλήρως γεμάτη ή όχι. Αν το πσοσοστό πληρότητάς της είναι 100% τότε είναι πλήρως γεμάτη αλλιώς χωράει και άλλους πελάτες. 

Θεωρήστε ότι η χωρητικότητα της καφετέριας είναι δεδομένη ως μεταβλητή max.

import random orio = random.randint(100,600) ######## ignore few lines below ###################### pelates = random.randint(1,orio) # print(f"Πελάτες: {pelates} 🙎🏻‍♂️") # print(f"Μέγιστη Χωρητικότητα: {orio} 🪑") # ######## ignore lines above ########################## percent = ___1___ print(f"{round(percent,2)}%") if ___2___ : print(f"Πλήρως γεμάτη καφετέρια!") else: print(f"Χωράει και άλλους πελάτες.") print = display

 

 

 

Παράδειγμα - Έλεγχος αν ο μέσος όρος είναι μεγαλύτερος από 10

Το παρακάτω τμήμα Python υπολογίζει αν ο μέσος όρος τριών μεταβλητών a, b , c είναι μεγαλύτερος από την τιμή 10.

import random a = random.randint(1,20) b = random.randint(1,20) c = random.randint(1,20) print(f"a: {a} , b: {b}, c: {c}") mesos = (a+b+c)/3 print(f"mesos= {mesos}") if mesos > 10 : print(f"Μεγαλύτερος από 10") else: print(f"Μικρότερος ή ίσος με 10") print = display

 

 

 

⚙️Άσκηση - Έλεγχος αν ο μέσος όρος είναι ανάμεσα στο διάστημα [5,9]

Να αντικαταστήσετε τα κενά  ___1___  και  ___2___ στο παρακάτω τμήμα Python ώστε να υπολογίζει τον μέσο όρο των τεσσάρων μεταβλητών a, b , c  και  d   και να ελέγχει αν είναι ανάμεσα στο διάστημα [5,9].

import random a = random.randint(1,20) b = random.randint(1,20) c = random.randint(1,20) d = random.randint(1,20) print(f"a: {a} , b: {b}, c: {c}, d: {d}") mesos = ___1___ print(f"mesos= {mesos}") if ___2___ : print(f"Ανάμεσα στο διάστημα [5,9]") else: print(f"Εκτός του διαστήματος [5,9]") print = display

 

 

 

⚙️Άσκηση - Έλεγχος αν ο μέσος όρος είναι διψήφιος αριθμός

Να αντικαταστήσετε τα κενά  ___1___  και  ___2___ στο παρακάτω τμήμα Python ώστε να υπολογίζει τον μέσο όρο των τεσσάρων μεταβλητών a, b , c  και  d   και να ελέγχει αν είναι διψήφιος αριθμός.

import random a = random.randint(1,20) b = random.randint(1,20) c = random.randint(1,20) d = random.randint(1,20) print(f"a: {a} , b: {b}, c: {c}, d: {d}") mesos = ___1___ print(f"mesos= {mesos}") if ___2___ : print(f"Ο Μέσος όρος είναι Διψήφιος αριθμός") else: print(f"Ο Μέσος όρος ΔΕΝ είναι Διψήφιος αριθμός") print = display

 

 

 

⚙️Άσκηση - Έλεγχος αν ο μέσος όρος είναι τριψήφιος αριθμός

Να αντικαταστήσετε τα κενά  ___1___  και  ___2___ στο παρακάτω τμήμα Python ώστε να υπολογίζει τον μέσο όρο των τεσσάρων μεταβλητών a, b , c  και  d   και να ελέγχει αν είναι τριψήφιος αριθμός.

import random a = random.randint(1,20) b = random.randint(1,20) c = random.randint(1,20) d = random.randint(1,20) print(f"a: {a} , b: {b}, c: {c}, d: {d}") mesos = ___1___ print(f"mesos= {mesos}") if ___2___ : print(f"Ο Μέσος όρος είναι Τριψήφιος αριθμός") else: print(f"Ο Μέσος όρος ΔΕΝ είναι Τριψήφιος αριθμός") print = display

 

 

 

 


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

Το παρακάτω τμήμα Python ζητάει από τον χρήστη το ποντάρισμά του «κ» ή «γ» ύστερα εμφανίζει κατάλληλο μήνυμα αν κέρδισε ή όχι.

######## ignore few lines below ##################### import random # result = random.choice(['Κορώνα','Γράμματα']) # print(f"Έτυχε: {result}") # ######## ignore few lines below ##################### bet = input("«Κορώνα» ή «Γράμματα»;") print(f"bet: {bet}") if bet == result : print(f"Κερδίσατε!") else: print(f"Δυστυχώς χάσατε!") print = display

 

 

 

⚙️Άσκηση - Υπολογισμός Λεωφορείων Σχολικής Εκδρομής 🚌

Αντικαταστήστε τα κενά  ____1____ , ____2____ και ____3____ με κατάλληλες εντολές ή συνθήκες ώστε να υπολογίζει πόσα λεωφορεία busses χρειάζονται για να μεταφέρουν students μαθητές. 

Θεωρήστε ότι η χωρητικότητα ενός λεωφορείου είναι 50 ατόμων.

Επίσης, θεωρήστε την μεταβλητή students δεδομένη.   

######## ignore few lines below #################################### import random # students = random.choice([49,50,55,100,101,150,151,200,251]) # ######## ignore lines above ######################################## if ___1___ : busses = ___2___ else: busses = ___3___ print(f"{busses} 🚌 για → {students}🧒") print = display