🍊Κ12 - Πολλαπλή Δομή Επιλογής

Χρησιμοποιούμε την Πολλάπλή Δομή Επιλογής όταν μπορούμε να επιλέξουμε μόνο ένα μονοπάτι από τα προσφερόμενα. Όταν επιλέγουμε ένα μονοπάτι αυτομάτως απορρίπτουμε τα υπόλοιπα.

 

Π.χ.

Σε ποια βαθμίδα είστε μαθητής;

A. Δημοτικό      Β. Γυμνάσιο      Γ. Λύκειο      Δ. Άλλο

 

 

Σενάριο Εστιατόρια

Ας υποθέσουμε ότι θέλετε να κάτσετε για φαγητό σε ένα εστιατόριο/ταβέρνα. Υπάρχουν τρία εστιατόρια το ένα δίπλα στο άλλο όπως στην εικόνα παρακάτω:

  • Αν κάτσετε στο 1ο τότε αυτομάτως προσπερνάτε το 2ο και το 3ο.
  • Αν κάτσετε στο 2ο τότε σημαίνει ότι απορρίψατε το 1ο επειδή δεν το θέλατε και προσπεράσατε το 3ο επειδή φάγατε ήδη στο 2ο.
  • Αν κάτσετε στο 3ο τότε σημαίνει ότι απορρίψατε το 1ο και το 2ο καθότι δεν θέλατε να κάτσετε. Σας δόθηκε η ευκαιρία να κάτσετε αλλά τα απορρίψατε.

 


 

Γενική Μορφή / Συντακτικό Python

if <condition_1>:
    command_group_1
elif <condition_2:
    command_group_2
        ⁝
elif <condition_N>:
    command_group_N
else:
    command_group_other

 


 

Παράδειγμα - Διόδια 

Σε μία πόλη της Ευρώπης υπάρχουν διόδια για να περάσει κάποιος σε μία άλλη περιοχή της πόλης. Ο τιμοκατάλογος ανά τύπο οχήματος είναι ο παρακάτω:

  •  Motorcycle 🏍️ →  2€
  • Car 🚗 →  3.5€
  • Truck 🚛 →  5€

Οπότε το αντίστοιχο πρόγραμμα Python όπου χρεώνει ανάλογα τον τύπο οχήματος είναι παρακάτω:

import random vehicle_type = random.choice(['motorcycle🏍️','car🚗','truck🚛']) if vehicle_type == 'motorcycle🏍️': cost = 2 elif vehicle_type == 'car🚗': cost = 3.5 else: cost = 5 print(f"{vehicle_type} → {cost}€") print = display

 

 

 

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

Το παρακάτω πρόγραμμα Python ελέγχει και εμφανίζει αν η ζαριά ήταν διπλή και την ονομασία της διπλής ζαριάς. Π.χ. άσσοι, πεντάρες κλπ.

import random z1 = random.randint(1,6) z2 = random.randint(1,6) print(f"ζάρι1: {z1} - ζάρι2: {z2}") if z1 == z2 and z1 == 1: print("Άσοι 1️⃣1️⃣") elif z1 == z2 and z1 == 2: print("Διπλές 2️⃣2️⃣") elif z1 == z2 and z1 == 3: print("Τρείτσες 3️⃣3️⃣") elif z1 == z2 and z1 == 4: print("Ντόρτια 4️⃣4️⃣") elif z1 == z2 and z1 == 5: print("Πεντάρες 5️⃣5️⃣") elif z1 == z2 and z1 == 6: print("Εξάρες 6️⃣6️⃣") else: print("Δεν είναι διπλή ζαριά") print = display

 

 

 

 

⚙️Άσκηση - Βαθμίδα Σχολείου 

Να συμπληρώσετε τα κενά ___1___ , ___2___  και  ___3___ με τις κατάλληλες συνθήκες ώστε να ελέγχει σε ποια βαθμίδα ανήκει ένα άτομο δίνοντας την ηλικία (age) του.

ΗΛΙΚΙΑΒΑΘΜΙΔΑ
6 έως 12Δημοτικό
13 έως 15Γυμνάσιο
16 έως 18Λύκειο
άνω των 18Άλλο
import random age = random.randint(6,40) print(f"age= {age}") if ___1___ : vathmida = 'ΔΗΜΟΤΙΚΟ' elif ___2___ : vathmida = 'ΓΥΜΝΑΣΙΟ' elif ___3___ : vathmida = 'ΛΥΚΕΙΟ' else: vathmida = 'ΑΛΛΟ' print(f"{age}ετών → {vathmida}") print = display

 

 

 

Παράδειγμα - Φορολογία

Σε ένα κράτος θέλουν να φτιάξουν πρόγραμμα για τον υπολογισμό φορολογίας ανάλογα το εισόδημα του φορολογούμενου.

Οπότε το αντίστοιχο πρόγραμμα Python όπου χρεώνει ανάλογα τον τύπο οχήματος είναι παρακάτω:

ΕΙΣΟΔΗΜΑΠΟΣΟΣΤΟ ΕΠΙ ΤΟΥ ΕΙΣΟΔΗΜΑΤΟΣ
0 έως 40.000 €  5%
 40.001 έως 100.000 €  8%
άνω των 100.000 € 12%
income = float( input("Please give income: ") ) if income >= 0 and income <= 40000: tax = 5/100 * income elif income <= 100000: tax = 8/100 * income else: tax = 12/100 * income print(f"Εισόδημα:{income}€ → Φόρος:{tax}€") print = display

 

 

 

⚙️Άσκηση - Έκπτωση 🎫

Να συμπληρώσετε τα κενά ___1___ , ___2___ , ___3___ , ___4___ , ___5___ και ___6___ με κατάλληλες συνθήκες ή εντολές ώστε να υπολογίζει το ποσό της έκπτωσης (discount) επί του συνόλου (sum) βάσει του παρακάτω πίνακα:

ΣΥΝΟΛΟ ΑΓΟΡΩΝΠΟΣΟΣΤΟ ΕΚΠΤΩΣΗΣ ΕΠΙ ΤΟΥ ΣΥΝΟΛΟΥ
10 έως 50 €  5%
 51 έως 200 €  10%
άνω των 200 € 20%
import random sum = random.uniform(1,500) if ___1___ and ___2___ : discount = ___3___ elif ___4___ : discount = ___5___ else: discount = ___6___ print(f"Σύνολο:{sum}€ → Έκπτωση:{discount}€") print = display

 

 

 

🏠Άσκηση - Λίπασμα 🌾 (#Κ12ΛΙΠ) 

Να συμπληρώσετε τα κενά ___1___ , ___2___ , ___3___ , ___4___ , ___5___ και ___6___ με κατάλληλες συνθήκες ή εντολές ώστε να εμφανίζει πόσο θα πληρώσει ένας αγρότης για το λίπασμα που θέλει να αγοράσει βάσει του παρακάτω πίνακα:

ΚΙΛΑΕΥΡΩ ΑΝΑ ΚΙΛΟ
0 έως 500.75 €
51 έως 1001.35 € 
άνω των 1002.10 € 

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

import random kg = random.uniform(0,500) if ___1___ and ___2___ : cost = ___3___ elif ___4___ : cost = ___5___ else: cost = ___6___ print(f"Κιλά:{kg}€ → Χρέσωση:{cost}€") print = display