Ενότητα 1.2

Αριθμητικές και λογικές πράξεις και εκφράσεις

1.2 Αριθμητικές και λογικές πράξεις και εκφράσεις

Αριθμητικοί τελεστές

Οι τελεστές είναι σύμβολα που χρησιμοποιούμε για να δημιουργούμε εκφράσεις. Οι βασικοί αριθμητικοί τελεστές στην Python είναι:

+
Πρόσθεση
-
Αφαίρεση
*
Πολλαπλασιασμός
/
Διαίρεση
**
Ύψωση σε δύναμη
%
Υπόλοιπο διαίρεσης (mod)

Προτεραιότητα πράξεων

Σε κάθε αριθμητική έκφραση ακολουθείται συγκεκριμένη σειρά εκτέλεσης:

  1. Παρενθέσεις ( ) — εκτελούνται πρώτες
  2. Ύψωση σε δύναμη **
  3. Πολλαπλασιασμός, Διαίρεση, Υπόλοιπο * / %
  4. Πρόσθεση, Αφαίρεση + -

Παράδειγμα: (2 + 3) * 5 → πρώτα η παρένθεση (5), μετά 5 * 5 = 25. Χωρίς παρένθεση, 2 + 3 * 5 → πρώτα ο πολλαπλασιασμός: 2 + 15 = 17.

Σχεσιακοί (συγκριτικοί) τελεστές

Χρησιμοποιούνται για σύγκριση δύο τιμών. Το αποτέλεσμα είναι πάντα True ή False.

<
Μικρότερο από
<=
Μικρότερο ή ίσο
>
Μεγαλύτερο από
>=
Μεγαλύτερο ή ίσο
==
Ίσο με
!=
Διάφορο από

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

Οι λογικοί τελεστές συνδυάζουν λογικές τιμές (True/False). Σειρά προτεραιότητας: notandor.

not
Άρνηση (ΟΧΙ)
and
Σύζευξη (ΚΑΙ)
or
Διάζευξη (Ή)

Πίνακας αλήθειας λογικών τελεστών

P Q P and Q P or Q not P
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

Παραδείγματα εκφράσεων

arithmetic_operators.py
# Αριθμητικές πράξεις
print 2 + 8 * 2      # 18  (πρώτα ο πολ/σμός)
print 45 / 10       # 4 (ακέραια διαίρεση)
print 45.0 / 10     # 4.5 (αν float, βγάζει float)
print 45 % 10       # 5 (υπόλοιπο διαίρεσης)
print 2 ** 3        # 8 (2 στην 3η)

# Σχεσιακοί τελεστές
print 23 == 23    # True
print 34 != 45    # True
print 56 <= 12   # False

# Λογικοί τελεστές
print True and True   # True
print True and False  # False
print True or False   # True
print not(56 <= 12) # True

Μεταβλητές — Εκχώρηση & κανόνες

Στην Python δεν δηλώνουμε μεταβλητές — απλά τους εκχωρούμε τιμή με =. Το = δεν είναι μαθηματική ισότητα, αλλά τελεστής εκχώρησης: βάζει τη τιμή του δεξιού μέρους στη μεταβλητή του αριστερού.

Σωστά ονόματα

onoma1, onoma_2, timi, mesi_timi, embado

Λάθος ονόματα

1o_onoma (ξεκινά με αριθμό), print (δεσμευμένη λέξη)

Μια μεταβλητή μπορεί να αλλάζει τύπο κατά τη διάρκεια του προγράμματος:

dynamic_types.py
a = 125             # int
print type(a)    # <type 'int'>

a = 250.7           # float (άλλαξε τύπος!)
print type(a)    # <type 'float'>

a = True             # bool
print type(a)    # <type 'bool'>

a = "Καλημέρα"      # str
print type(a)    # <type 'str'>

Εισαγωγή & εξαγωγή δεδομένων

print

Εμφανίζει τιμές στην οθόνη. Μπορεί να δεχτεί μεταβλητή, αριθμό, συμβολοσειρά ή έκφραση.

print name
print 1045.34
print message * 3

input() & raw_input()

Διαβάζουν τιμή από το πληκτρολόγιο. Η input() επιστρέφει αριθμό, η raw_input() επιστρέφει πάντα συμβολοσειρά.

num = input("Δώσε αριθμό: ")
name = raw_input("Όνομα: ")

Σχόλια

Τα σχόλια ξεκινούν με # και αγνοούνται από τον διερμηνευτή. Βοηθούν στην κατανόηση του κώδικα.

comments_example.py
# Πρόγραμμα πολλαπλασιασμού δύο αριθμών
x = input("Δώσε τον πρώτο αριθμό: ")
y = input("Δώσε τον δεύτερο αριθμό: ")
ginomeno = x * y  # πολλαπλασιάζει και αποθηκεύει
print ginomeno      # εμφανίζει το αποτέλεσμα

Σύνοψη

Αριθμητικοί τελεστές: + - * / ** % — προτεραιότητα: ( )*** / %+ -
Σχεσιακοί τελεστές: < <= > >= == != — αποτέλεσμα πάντα True ή False
Λογικοί τελεστές: not and or — σειρά: notandor
Το = είναι εκχώρηση, όχι ισότητα — βάζει τιμή στη μεταβλητή
Εισαγωγή: input() (αριθμός) / raw_input() (συμβολοσειρά) — Εξαγωγή: print