Μάθημα : Προγραμματισμός στην Python

1701050396 - ΜΙΧΑΗΛ ΣΦΥΡΑΚΗΣ

Ενότητες μαθήματος

Ενότητα 1 - Βασικές Έννοιες & Τύποι Δεδομένων

Καλώς ορίσατε στον κόσμο του προγραμματισμού και της Python! Για να μπορέσουμε να δημιουργήσουμε τα δικά μας προγράμματα, παιχνίδια ή εφαρμογές, πρέπει πρώτα να καταλάβουμε πώς λειτουργεί και πώς «σκέφτεται» ένας υπολογιστής.
 
Ο υπολογιστής δεν είναι τίποτα παραπάνω από μια μηχανή που εκτελεί τις δικές μας οδηγίες. Όμως, για να εκτελέσει σωστά αυτές τις οδηγίες, πρέπει να του δώσουμε τις κατάλληλες πληροφορίες (δεδομένα). Όπως στα Μαθηματικά χρησιμοποιούμε αριθμούς και στη Γλώσσα χρησιμοποιούμε λέξεις, έτσι και η Python έχει τους δικούς της κανόνες για να ξεχωρίζει τις πληροφορίες που της δίνουμε.
Σε αυτή την πρώτη ενότητα, θα κάνουμε τα εξής βασικά βήματα:
  • Θα γνωρίσουμε το Thonny, το ψηφιακό εργαστήριο στο οποίο θα γράφουμε και θα δοκιμάζουμε τον κώδικά μας.
  • Θα μάθουμε για τους Τύπους Δεδομένων (Data Types), δηλαδή πώς η Python ξεχωρίζει έναν ακέραιο αριθμό, έναν δεκαδικό ή μια λέξη.
  • Θα ανακαλύψουμε τις Μεταβλητές (Variables), οι οποίες λειτουργούν σαν «κουτιά μνήμης» για να αποθηκεύουμε τις πληροφορίες μας.
  • Θα δούμε τους Τελεστές (Operators), δηλαδή τα σύμβολα με τα οποία κάνουμε μαθηματικές πράξεις και συγκρίσεις.
Κατανοώντας αυτές τις πρώτες βασικές έννοιες, θα χτίσετε ένα πανίσχυρο θεμέλιο. Αυτό θα σας επιτρέψει πολύ σύντομα να προχωρήσετε στα επόμενα μαθήματα, όπου θα μάθετε πώς να κάνετε το πρόγραμμα να επικοινωνεί με τον χρήστη, να παίρνει έξυπνες αποφάσεις και να εκτελεί αυτόματες επαναλήψεις!

Γνωριμία με το Περιβάλλον Εργασίας (Thonny IDE)

Για να γράψουμε κώδικα στην Python και να τον εκτελέσουμε, χρειαζόμαστε ένα ειδικό πρόγραμμα που ονομάζεται IDE (Integrated Development Environment / Ολοκληρωμένο Περιβάλλον Ανάπτυξης). Στο μάθημά μας θα χρησιμοποιήσουμε το Thonny, το οποίο είναι σχεδιασμένο ειδικά για αρχάριους μαθητές, καθώς έχει απλό περιβάλλον και δεν περιέχει περιττά κουμπιά που μπερδεύουν. Όταν ανοίγουμε το Thonny, η οθόνη μας χωρίζεται σε τρία βασικά μέρη:
 
Περιβάλλον Προγραμματισμού Thonny
 
1. Η Γραμμή Εργαλείων (Toolbar)
Στο πάνω μέρος υπάρχουν τα βασικά εικονίδια ελέγχου:
  • New (Λευκή σελίδα): Δημιουργία ενός νέου αρχείου κώδικα.
  • Open (Φάκελος): Άνοιγμα ενός αποθηκευμένου προγράμματος.
  • Save (Δισκέτα): Αποθήκευση του κώδικα. Προσοχή: Τα αρχεία της Python πρέπει πάντα να αποθηκεύονται με την κατάληξη .py (π.χ. askisi1.py).
  • Run (Πράσινο κουμπί ▷): Πατώντας το, ο υπολογιστής διαβάζει τον κώδικα που γράψαμε στον κειμενογράφο και τον εκτελεί.
  • Stop (Κόκκινο σήμα): Σταματάει την εκτέλεση του προγράμματος αν αυτό κολλήσει.
2. Ο Κειμενογράφος (Editor)
Είναι το μεγάλο λευκό παράθυρο στο κέντρο της οθόνης.
  • Εκεί γράφουμε τις εντολές του προγράμματός μας.
  • Μπορούμε να γράψουμε πολλές γραμμές κώδικα μαζί, να τις διορθώσουμε και να τις αποθηκεύσουμε.
  • Αριστερά υπάρχουν αριθμοί (1, 2, 3...) που μας δείχνουν τη γραμμή του κώδικα, κάτι που μας βοηθάει πολύ όταν η Python μάς εμφανίζει κάποιο λάθος.
3. Η Κονσόλα (Shell)
Είναι το παράθυρο στο κάτω μέρος της οθόνης.
  • Εμφάνιση αποτελεσμάτων: Όταν πατάμε το πράσινο κουμπί Run, το αποτέλεσμα του κώδικα (η έξοδος) εμφανίζεται εδώ.
  • Άμεση εκτέλεση: Αν γράψουμε μια μεμονωμένη εντολή απευθείας δίπλα στα σύμβολα >>> και πατήσουμε Enter, η Python θα την εκτελέσει ακαριαία. Είναι το ιδανικό μέρος για να δοκιμάζουμε γρήγορα απλές μαθηματικές πράξεις.

Τύποι Δεδομένων (Data Types)

Κάθε πληροφορία που αποθηκεύουμε, επεξεργαζόμαστε ή εμφανίζουμε στην Python έχει έναν συγκεκριμένο Τύπο Δεδομένων (Data Type). Οι τύποι αυτοί καθορίζουν τι είδους τιμή επιτρέπεται να αποθηκευτεί, καθώς και τις πράξεις που μπορούμε να κάνουμε με αυτήν (για παράδειγμα, μπορούμε να πολλαπλασιάσουμε δύο αριθμούς, αλλά δεν μπορούμε να πολλαπλασιάσουμε δύο λέξεις).
Η Python αναγνωρίζει αυτόματα τον τύπο δεδομένων κάθε φορά που γράφουμε μια τιμή. Οι βασικοί τύποι χωρίζονται στις εξής κατηγορίες:
 
Α. Αριθμητικοί Τύποι (Numbers)
  • Ακέραιοι (int): Αντιπροσωπεύουν ολόκληρους αριθμούς χωρίς δεκαδικά ψηφία (θετικούς, αρνητικούς ή το μηδέν). Χρησιμοποιούνται για μετρήσεις και ακριβείς ποσότητες.
    • Παράδειγμα: 10, -3, 0
  • Πραγματικοί αριθμοί (float): Αντιπροσωπεύουν δεκαδικούς αριθμούς (με υποδιαστολή). Χρησιμοποιούνται για μετρήσεις ακριβείας ή επιστημονικούς υπολογισμούς.
    • Παράδειγμα: 10.0, -3.5, 0.01
Β. Κείμενο (Text)
  • Συμβολοσειρές (str): Χρησιμοποιούνται για την αποθήκευση κειμένου. Αποτελούνται από μια ακολουθία χαρακτήρων που περικλείονται υποχρεωτικά σε μονά (' ') ή διπλά (" ") εισαγωγικά. Είναι αμετάβλητος τύπος.
    • Παράδειγμα: "hello", 'world'
Γ. Λογικοί Τύποι (Booleans)
  • Δυαδικές/Λογικές τιμές (bool): Παίρνουν μόνο δύο τιμές: True (Αληθές) ή False (Ψευδές). Αποτελούν τη βάση για τη λήψη αποφάσεων από τον υπολογιστή.
    • Παράδειγμα: is_valid = True, has_finished = False
Δ. Συλλογές Δεδομένων (Collections)
  • Λίστες (list): Διατεταγμένες συλλογές στοιχείων μέσα σε αγκύλες []. Τα στοιχεία μπορεί να είναι διαφορετικού τύπου και επιτρέπονται τα διπλότυπα. Είναι μεταβλητές (mutable), δηλαδή αλλάζουν.
    • Παράδειγμα: [1, "a", 3.14]
  • Πλειάδες (tuple): Διατεταγμένες συλλογές μέσα σε παρενθέσεις (). Μοιάζουν με τις λίστες, αλλά είναι αμετάβλητες (immutable)• δεν μπορούν να τροποποιηθούν μετά τη δημιουργία τους.
    • Παράδειγμα: (10, 20, 30)
  • Λεξικά (dict): Συλλογές που αποθηκεύουν δεδομένα σε ζευγάρια κλειδιού-τιμής (key: value) μέσα σε άγκιστρα {}. Χρησιμοποιούμε το μοναδικό κλειδί για να βρούμε την τιμή.
    • Παράδειγμα: {"name": "John", "age": 30}
  • Σύνολα (set): Μη διατεταγμένες συλλογές στοιχείων μέσα σε άγκιστρα {}, όπου κάθε στοιχείο είναι αυστηρά μοναδικό (δεν επιτρέπονται διπλότυπα).
    • Παράδειγμα: {1, 2, 3}
Ε. Τύπος Μηδενικής Τιμής
  • Μηδενική Τιμή (NoneType): Περιέχει μόνο την τιμή None. Αντιπροσωπεύει την απουσία τιμής ή μια «άδεια» μεταβλητή που θα πάρει τιμή αργότερα.
    • Παράδειγμα: result = None

Μεταβλητές (Variables)

Μια μεταβλητή (variable) λειτουργεί σαν ένα ονοματισμένο κουτί στη μνήμη του υπολογιστή. Μέσα σε αυτό το κουτί μπορούμε να αποθηκεύσουμε μια πληροφορία (έναν τύπο δεδομένων) για να τη χρησιμοποιήσουμε ή να την αλλάξουμε αργότερα στο πρόγραμμά μας. Χωρίς τις μεταβλητές, ο υπολογιστής δεν θα μπορούσε να «θυμάται» το όνομα ενός χρήστη, το σκορ ενός παιχνιδιού ή το αποτέλεσμα ενός υπολογισμού.
 
Δημιουργία Μεταβλητής στην Python
Για να αποθηκεύσουμε μια τιμή σε μια μεταβλητή, χρησιμοποιούμε τον τελεστή εκχώρησης (=). Στα αριστερά γράφουμε το όνομα της μεταβλητής και στα δεξιά την τιμή που θέλουμε να κλείσουμε μέσα της:
 

# Δημιουργία μεταβλητών και αποθήκευση τιμών

age = 12         

name = "Μιχάλης" 

score = 95.5     

# Εμφάνιση των τιμών στην οθόνη

print(age)        

print(name)

print(score) 

 

Κανόνες Ονοματοδοσίας Μεταβλητών
Για να καταλαβαίνει η Python τις μεταβλητές μας, πρέπει να τους δίνουμε ονόματα ακολουθώντας μερικούς απλούς κανόνες:
  • Τι επιτρέπεται: Το όνομα μπορεί να περιέχει γράμματα (λατινικά ή ελληνικά), αριθμούς και την κάτω παύλα (_). Προτείνεται η χρήση μόνο του λατινικού αλφαβήτου.
  • Τι ΔΕΝ επιτρέπεται:
    • Δεν μπορεί να ξεκινάει με αριθμό (π.χ. το 1_score είναι λάθος, το score_1 είναι σωστό).
    • Δεν μπορεί να περιέχει κενά διαστήματα (π.χ. το my age είναι λάθος, το my_age είναι σωστό).
    • Δεν μπορεί να είναι λέξη-κλειδί της Python (όπως if, for, True, print).
  • Προσοχή στα Κεφαλαία/Πεζά (Case Sensitivity): Η Python ξεχωρίζει τα πεζά από τα κεφαλαία γράμματα. Η μεταβλητή Name και η μεταβλητή name θεωρούνται δύο διαφορετικά κουτιά μνήμης.

Τελεστές Πράξεων (Operators)

Οι τελεστές είναι ειδικά σύμβολα που χρησιμοποιούμε για να κάνουμε πράξεις, συγκρίσεις ή να συνδυάσουμε λογικές συνθήκες. Χωρίζονται σε τρεις βασικές κατηγορίες:
 
Αριθμητικοί Τελεστές
Χρησιμοποιούνται για τις κλασικές μαθηματικές πράξεις μεταξύ αριθμών.
  • Πρόσθεση (+): Προσθέτει δύο αριθμούς. Παράδειγμα: 3 + 2 επιστρέφει 5.
  • Αφαίρεση (-): Αφαιρεί τον δεύτερο αριθμό από τον πρώτο. Παράδειγμα: 3 - 2 επιστρέφει 1.
  • Πολλαπλασιασμός (*): Πολλαπλασιάζει δύο αριθμούς. Παράδειγμα: 3 * 2 επιστρέφει 6.
  • Διαίρεση (/): Διαιρεί δύο αριθμούς και επιστρέφει πάντα δεκαδικό αποτέλεσμα (float). Παράδειγμα: 3 / 2 επιστρέφει 1.5.
  • Διαίρεση ακεραίων (//): Κάνει τη διαίρεση αλλά κρατάει μόνο το ακέραιο μέρος, πετώντας τα δεκαδικά ψηφία. Παράδειγμα: 3 // 2 επιστρέφει 1.
  • Υπόλοιπο (%): Μας δίνει το υπόλοιπο μιας ακέραιας διαίρεσης. Παράδειγμα: 3 % 2 επιστρέφει 1.
  • Ύψωση σε δύναμη (**): Υψώνει τον πρώτο αριθμό στη δύναμη του δεύτερου. Παράδειγμα: 3 ** 2 (δηλαδή 32) επιστρέφει 9.
Τελεστές Σύγκρισης
Χρησιμοποιούνται για να συγκρίνουμε δύο τιμές. Το αποτέλεσμα μιας σύγκρισης είναι πάντα μια λογική τιμή, δηλαδή True ή False.
  • Ίσο (==): Ελέγχει αν δύο τιμές είναι ακριβώς ίδιες. Παράδειγμα: 3 == 2 επιστρέφει False.
  • Άνισο (!=): Ελέγχει αν δύο τιμές είναι διαφορετικές μεταξύ τους. Παράδειγμα: 3 != 2 επιστρέφει True.
  • Μικρότερο (<): Παράδειγμα: 5 < 8 επιστρέφει True.
  • Μικρότερο ή ίσο (<=): Ελέγχει αν η αριστερή τιμή είναι μικρότερη ή ίση με τη δεξιά.
  • Μεγαλύτερο (>): Παράδειγμα: 5 > 8 επιστρέφει False.
  • Μεγαλύτερο ή ίσο (>=): Παράδειγμα: 7 >= 4 επιστρέφει True.

Λογικοί Τελεστές

Χρησιμοποιούνται για να συνδυάζουμε πολλές συνθήκες μαζί.
  • και (and): Επιστρέφει True μόνο αν είναι αληθείς και οι δύο συνθήκες που εξετάζουμε. Παράδειγμα: True and False επιστρέφει False.
  • ή (or): Επιστρέφει True αν τουλάχιστον μία από τις συνθήκες είναι αληθής. Παράδειγμα: True or False επιστρέφει True.
  • όχι (not): Αντιστρέφει τη λογική τιμή (το True γίνεται False και το αντίστροφο). Παράδειγμα: not True επιστρέφει False.