1.1 Βασικά προβλήματα και λύσεις

Ερώτηση 1:

Ποιοι από τους παρακάτω χαρακτήρες είναι τελεστές (operators) και ποιοι είναι τιμές (values):

*
‘hello’
-88.8

/
+
5

Απάντηση:

1. * – Τελεστής (operator)

2. ‘hello’ – Τιμή (value)

3. -88.8 – Τιμή (value)

4. – – Τελεστής (operator)

5. / – Τελεστής (operator)

6. + – Τελεστής (operator)

7. 5 – Τιμή (value)

Επομένως, οι τελεστές είναι οι εξής: *, -, /, +, ενώ οι τιμές είναι: ‘hello’, -88.8, 5.

Ερώτηση 2:

Να αναγνωρίσετε ποιο από τα παρακάτω είναι μια μεταβλητή (variable) και ποιο είναι ένα string:

spam
‘spam’

Απάντηση:

  1. spam – Μεταβλητή (variable)
  2. ‘spam’ – String

Επομένως, η μεταβλητή είναι το “spam” ενώ το ‘spam’ είναι ένα string.

Ερώτηση 3:

Ονομάστε τρεις τύπους δεδομένων.

Απάντηση:

Τρία είδη δεδομένων (data types) είναι:

  1. Ακέραιος αριθμός (Integer): Αναπαριστά ακέραιους αριθμούς, π.χ. 1, 10, -5.
  2. Συμβολοσειρά (String): Αναπαριστά μια ακολουθία χαρακτήρων, π.χ. “Hello”, “Python”, “123”.
  3. Λογική τιμή (Boolean): Αναπαριστά την αλήθεια (True) ή το ψευδές (False). Χρησιμοποιείται συνήθως για συγκρίσεις και λογικές πράξεις.

Ερώτηση 4:

Από τι αποτελείται μια έκφραση; Τι κάνουν οι εκφράσεις;

Απάντηση:

Μια έκφραση αποτελείται από μια συνδυασμένη ακολουθία από τιμές, μεταβλητές, τελεστές και συναρτήσεις. Ο σκοπός των έκφρασεων είναι να αξιολογηθούν και να παράξουν ένα αποτέλεσμα.

Οι έκφρασεις αξιολογούνται για να παράξουν μια τιμή. Αυτή η τιμή μπορεί να είναι ένας αριθμός, μια συμβολοσειρά, ένας λογικός τελεστής (True ή False) ή οποιοσδήποτε άλλος τύπος δεδομένων.

Οι έκφρασεις μπορούν να περιλαμβάνουν αριθμητικές πράξεις (όπως πρόσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση), συγκρίσεις (όπως μεγαλύτερο, μικρότερο, ίσο με), λογικούς τελεστές (όπως το “and”, “or”, “not”) και άλλες πράξεις που εκτελούν διάφορες λειτουργίες.

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

[adinserter block=”2″]

Ερώτηση 5:

Ποια είναι η διαφορά μεταξύ έκφρασης και δήλωσης;

Απάντηση:

Η διαφορά μεταξύ μιας έκφρασης (expression) και μιας δήλωσης (statement) είναι η εξής:

  • Μια έκφραση (expression) αξιολογείται για να παράξει μια τιμή. Αποτελείται από μια συνδυασμένη ακολουθία τιμών, μεταβλητών, τελεστών και συναρτήσεων που εκτελούνται για να παράξουν ένα αποτέλεσμα. Παραδείγματα έκφρασεων είναι η αριθμητική πρόσθεση (2 + 3), η συμβολοσειρά (“Hello, World!”), η κλήση μιας συνάρτησης ή η χρήση μιας μεταβλητής.
  • Από την άλλη πλευρά, μια δήλωση (statement) είναι ένα τμήμα κώδικα που εκτελεί μια ενέργεια. Δεν αξιολογείται για να παράξει μια τιμή, αλλά εκτελεί μια ενέργεια, όπως η εκχώρηση τιμής σε μια μεταβλητή, η κλήση μιας συνάρτησης, η εκτέλεση μιας επανάληψης ή μια συνθήκης. Παραδείγματα δηλώσεων είναι η δήλωση μιας μεταβλητής (x = 5), η δήλωση μιας συνάρτησης ή η εκτέλεση μιας εντολής ελέγχου όπως η συνθήκη if.

Συνολικά, η κύρια διαφορά μεταξύ μιας έκφρασης και μιας δήλωσης είναι ότι οι

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

Ερώτηση 6:

Τι περιέχει η μεταβλητή bacon μετά την εκτέλεση του παρακάτω κώδικα;

bacon = 20
bacon = bacon + 1

Απάντηση:

Μετά την εκτέλεση του παρακάτω κώδικα:

bacon = 20
bacon = bacon + 1

η μεταβλητή bacon θα περιέχει την τιμή 21. Η γραμμή κώδικα “bacon = bacon + 1” αυξάνει την τιμή της μεταβλητής bacon κατά 1, προσθέτοντας την τιμή 1 στην υπάρχουσα τιμή της μεταβλητής (20). Επομένως, η μεταβλητή bacon θα ενημερωθεί με την νέα τιμή 21.

Ερώτηση 7:

Ποιά θα πρέπει να είναι η αποτίμηση των παρακάτω δύο εκφράσεων;

'spam' + 'spamspam'
'spam' * 3

Απάντηση:

Οι δύο αυτές εκφράσεις αξιολογούνται ως εξής:

  1. Η έκφραση 'spam' + 'spamspam' συνενώνει (concatenates) τις δύο συμβολοσειρές, προκαλώντας την συμβολοσειρά 'spamspamspam'.
  2. Η έκφραση 'spam' * 3 επαναλαμβάνει τη συμβολοσειρά 'spam' τρεις φορές, δημιουργώντας τη συμβολοσειρά 'spamspamspam'.

Συνολικά, και οι δύο εκφράσεις αξιολογούνται ως η συμβολοσειρά 'spamspamspam'.

Ερώτηση 8:

Γιατί το eggs είναι έγκυρο όνομα μεταβλητής ενώ το 100 είναι άκυρο;

Απάντηση:

Στην Python, οι ονομασίες μεταβλητών πρέπει να ακολουθούν ορισμένους κανόνες. Ένα όνομα μεταβλητής μπορεί να περιέχει γράμματα (μικρά ή κεφαλαία), αριθμούς και τον χαρακτήρα underscore (_), αλλά πρέπει να ξεκινά με ένα γράμμα ή με τον χαρακτήρα underscore.

Έτσι, η μεταβλητή “eggs” είναι έγκυρη επειδή ξεκινά με ένα γράμμα και περιέχει μόνο γράμματα, χωρίς κενά ή ειδικούς χαρακτήρες.

Από την άλλη πλευρά, ο αριθμός “100” δεν μπορεί να χρησιμοποιηθεί ως όνομα μεταβλητής, καθώς ξεκινά με έναν αριθμό. Σύμφωνα με τους κανόνες, ένα όνομα μεταβλητής δεν μπορεί να ξεκινά με αριθμό.

Συνολικά, για να είναι έγκυρο ένα όνομα μεταβλητής στην Python, πρέπει να ακολουθεί τους κανόνες για τη σύνθεση των χαρακτήρων και να μην ξεκινά με αριθμό.

[adinserter block=”3″]

Ερώτηση 9:

Ποίες τρεις συναρτήσεις που μπορούν να χρησιμοποιηθούν για να αποκτηθεί η ακέραιη, δεκαδική ή αλφαριθμητική μορφή μιας τιμής;

Απάντηση:

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

  1. int(): Αυτή η συνάρτηση μετατρέπει μια τιμή σε ακέραιο αριθμό. Αν η τιμή περιέχει δεκαδικό μέρος, αυτό κόβεται χωρίς στρογγυλοποίηση.
    Παράδειγμα:
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 10.6.
# Λόγω της συνάρτησης int(), το δεκαδικό μέρος της τιμής αγνοείται και η τιμή γίνεται 10.
x = int(10.6)

# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: 10
  1. float(): Αυτή η συνάρτηση μετατρέπει μια τιμή σε δεκαδικό αριθμό (αριθμός κινητής υποδιαστολής).
    Παράδειγμα:
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του δεκαδικού αριθμού "3.14".
# Λόγω της συνάρτησης float(), η τιμή παραμένει ακέραια και γίνεται 3.14.
x = float("3.14")

# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: 3.14
  1. str(): Αυτή η συνάρτηση μετατρέπει μια τιμή σε αλφαριθμητική μορφή.
    Παράδειγμα:
# Ορίζουμε τη μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 42.
# Χρησιμοποιώντας τη συνάρτηση str(), η τιμή μετατρέπεται σε αλφαριθμητική μορφή.
x = str(42)

# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: "42"

Οι παραπάνω συναρτήσεις μπορούν να χρησιμοποιηθούν για να μετατρέψουν μια τιμή στην επιθυμητή μορφή, ανάλογα με τις ανάγκες του προγράμματος.

Ερώτηση 10:

Γιατί αυτή η έκφραση προκαλεί σφάλμα; Πώς μπορείτε να το διορθώσετε;

'I have eaten ' + 99 + ' burritos.'

Απάντηση:

Η παραπάνω έκφραση προκαλεί σφάλμα διότι προσπαθεί να συνενώσει (concatenate) διαφορετικούς τύπους δεδομένων, συγκεκριμένα ένα αλφαριθμητικό με έναν ακέραιο αριθμό (99).

Για να διορθωθεί το πρόβλημα, μπορούμε να μετατρέψουμε τον ακέραιο αριθμό σε αλφαριθμητική μορφή πριν τη συνένωση. Αυτό μπορεί να γίνει με τη χρήση της συνάρτησης str() για να μετατρέψουμε τον ακέραιο 99 σε αλφαριθμητική μορφή. Έτσι, η έκφραση θα μπορούσε να διορθωθεί ως εξής:

# Δημιουργούμε το μήνυμα "I have eaten ", μετατρέπουμε τον ακέραιο αριθμό 99 σε αλφαριθμητική μορφή χρησιμοποιώντας τη συνάρτηση str(),
# και στη συνέχεια συνενώνουμε το μήνυμα με την αλφαριθμητική μορφή του αριθμού και τη λέξη "burritos".
'I have eaten ' + str(99) + ' burritos.'

Τώρα, ο ακέραιος αριθμός 99 μετατρέπεται σε αλφαριθμητική μορφή πριν τη συνένωση, επιτρέποντας την ομαδοποίηση του μηνύματος χωρίς σφάλματα.

21 Αυγούστου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων