Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

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 μετά την εκτέλεση του παρακάτω κώδικα;

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
bacon = 20
bacon = bacon + 1
bacon = 20 bacon = bacon + 1
bacon = 20
bacon = bacon + 1

Απάντηση:

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
bacon = 20
bacon = bacon + 1
bacon = 20 bacon = bacon + 1
bacon = 20
bacon = bacon + 1

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

Ερώτηση 7:

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
'spam' + 'spamspam'
'spam' * 3
'spam' + 'spamspam' 'spam' * 3
'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(): Αυτή η συνάρτηση μετατρέπει μια τιμή σε ακέραιο αριθμό. Αν η τιμή περιέχει δεκαδικό μέρος, αυτό κόβεται χωρίς στρογγυλοποίηση.
    Παράδειγμα:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 10.6.
# Λόγω της συνάρτησης int(), το δεκαδικό μέρος της τιμής αγνοείται και η τιμή γίνεται 10.
x = int(10.6)
# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: 10
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 10.6. # Λόγω της συνάρτησης int(), το δεκαδικό μέρος της τιμής αγνοείται και η τιμή γίνεται 10. x = int(10.6) # Εκτυπώνουμε την τιμή της μεταβλητής x. print(x) # Αναμένουμε την έξοδο: 10
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 10.6.
# Λόγω της συνάρτησης int(), το δεκαδικό μέρος της τιμής αγνοείται και η τιμή γίνεται 10.
x = int(10.6)

# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: 10
  1. float(): Αυτή η συνάρτηση μετατρέπει μια τιμή σε δεκαδικό αριθμό (αριθμός κινητής υποδιαστολής).
    Παράδειγμα:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του δεκαδικού αριθμού "3.14".
# Λόγω της συνάρτησης float(), η τιμή παραμένει ακέραια και γίνεται 3.14.
x = float("3.14")
# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: 3.14
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του δεκαδικού αριθμού "3.14". # Λόγω της συνάρτησης float(), η τιμή παραμένει ακέραια και γίνεται 3.14. x = float("3.14") # Εκτυπώνουμε την τιμή της μεταβλητής x. print(x) # Αναμένουμε την έξοδο: 3.14
# Ορίζουμε την μεταβλητή x και την αρχικοποιούμε με την τιμή του δεκαδικού αριθμού "3.14".
# Λόγω της συνάρτησης float(), η τιμή παραμένει ακέραια και γίνεται 3.14.
x = float("3.14")

# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: 3.14
  1. str(): Αυτή η συνάρτηση μετατρέπει μια τιμή σε αλφαριθμητική μορφή.
    Παράδειγμα:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Ορίζουμε τη μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 42.
# Χρησιμοποιώντας τη συνάρτηση str(), η τιμή μετατρέπεται σε αλφαριθμητική μορφή.
x = str(42)
# Εκτυπώνουμε την τιμή της μεταβλητής x.
print(x)
# Αναμένουμε την έξοδο: "42"
# Ορίζουμε τη μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 42. # Χρησιμοποιώντας τη συνάρτηση str(), η τιμή μετατρέπεται σε αλφαριθμητική μορφή. x = str(42) # Εκτυπώνουμε την τιμή της μεταβλητής x. print(x) # Αναμένουμε την έξοδο: "42"
# Ορίζουμε τη μεταβλητή x και την αρχικοποιούμε με την τιμή του ακέραιου αριθμού 42.
# Χρησιμοποιώντας τη συνάρτηση str(), η τιμή μετατρέπεται σε αλφαριθμητική μορφή.
x = str(42)

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

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

Ερώτηση 10:

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
'I have eaten ' + 99 + ' burritos.'
'I have eaten ' + 99 + ' burritos.'
'I have eaten ' + 99 + ' burritos.'

Απάντηση:

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Δημιουργούμε το μήνυμα "I have eaten ", μετατρέπουμε τον ακέραιο αριθμό 99 σε αλφαριθμητική μορφή χρησιμοποιώντας τη συνάρτηση str(),
# και στη συνέχεια συνενώνουμε το μήνυμα με την αλφαριθμητική μορφή του αριθμού και τη λέξη "burritos".
'I have eaten ' + str(99) + ' burritos.'
# Δημιουργούμε το μήνυμα "I have eaten ", μετατρέπουμε τον ακέραιο αριθμό 99 σε αλφαριθμητική μορφή χρησιμοποιώντας τη συνάρτηση str(), # και στη συνέχεια συνενώνουμε το μήνυμα με την αλφαριθμητική μορφή του αριθμού και τη λέξη "burritos". 'I have eaten ' + str(99) + ' burritos.'
# Δημιουργούμε το μήνυμα "I have eaten ", μετατρέπουμε τον ακέραιο αριθμό 99 σε αλφαριθμητική μορφή χρησιμοποιώντας τη συνάρτηση str(),
# και στη συνέχεια συνενώνουμε το μήνυμα με την αλφαριθμητική μορφή του αριθμού και τη λέξη "burritos".
'I have eaten ' + str(99) + ' burritos.'

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

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