Ασκήσεις

Προηγούμενες

Επόμενες

Συναρτήσεις

Ασκήσεις κατανόησης

Άσκηση.

Γράψτε μία συνάρτηση με το όνομα add η οποία θα δέχεται δύο αριθμούς και θα επιστρέφει το άθροισμά τους.


def add(a,b):
    ab = a + b
    return ab

θα πρέπει επίσης να γράψουμε ένα κύριο πρόγραμμα (μετά από την παραπάνω συνάρτηση) το οποίο θα καλεί την add και θα τυπώνει το αποτέλεσμα.


result = add(1.5,3.2)
print(result)

Άσκηση.

(α) Γράψτε μία συνάρτηση η οποία θα δέχεται όνομα και επίθετο (δύο συμβολοσειρές) και θα επιστρέφει μία συμβολοσειρά με το πλήρες όνομα. (β) Γράψτε μία άλλη συνάρτηση η οποία θα δέχεται τα ίδια δεδομένα (όνομα και επίθετο) και θα τυπώνει το πλήρες όνομα (αλλά δεν θα επιστρέφει κάτι).


def name(first,surname):      # (α) επιστρέφει string
    s = first + ' ' + surname
    return s

result = name('Giorgos','Milonas') # κλήση συνάρτησης
print(result)


def name0(first,surname):      # (β) δεν επιστρέφει κάτι
    s = first + ' ' + surname
    print(s)

name('Giorgos','Milonas')      # κλήση συνάρτησης

Ασκήσεις εργαστηρίου

Παρατήρηση. Σε όλες τις περιπτώσεις όπου ζητάμε να γραφεί μία συνάρτηση, θα πρέπει να γραφτεί και ένα κύριο πρόγραμμα το οποίο χρησιμοποιεί τη συνάρτηση που γράψατε και παράγει αποτέλεσμα.

Άσκηση.

Γράψτε μία συνάρτηση sumL η οποία θα δέχεται μία λίστα πραγματικών αριθμών και θα επιστρέφει το άθροισμα των στοιχείων της.

Άσκηση.

Γράψτε μία συνάρτηση rootsNr η οποία βρίσκει την διακρίνουσα τριωνύμου και επιστρέφει πόσες ρίζες έχει το τριώνυμο (0,1, ή 2).

Άσκηση.

(Εσωτερικό γινόμενο) Γράψτε συνάρτηση innerProduct η οποία θα δέχεται τις συνιστώσες δύο διανυσμάτων και θα επιστρέφει το εσωτερικό τους γινόμενο. [Υπόδειξη. Τα διανύσματα μπορεί να έχουν δύο συνιστώσες (για διανύσματα στο επίπεδο) ή τρεις (για διανύσματα στον χώρο).]

Άσκηση.

Γράψτε μία συνάρτηση m3 η οποία βρίσκει τον μέγιστο μεταξύ τριών πραγματικών αριθμών.

Άσκηση.

(α) Γράψτε μία συνάρτηση printName στην οποία θα δίνετε όνομα και επίθετο και θα το τυπώνει στη μορφή Επίθετο, Όνομα (β) Βελτιώστε το πρόγραμμα ώστε να τυπώνει το πλήρες όνομα στην μορφή Όνομα Επίθετο είτε Επίθετο, Όνομα (ανάλογα με επιλογή κατά την κλήση της).

Ασκήσεις για υποβολή

Δείτε το σύστημα υποβολής ασκήσεων και πλήρη κατάλογο ασκήσεων εδώ.

Άσκηση.

A26-fact [tester]

Άσκηση.

A27-sumOfReciprocals [tester]

Άσκηση.

A28-robotMotion [tester]

Άλλες ασκήσεις

Άσκηση.

(α) Γράψτε μία συνάρτηση η οποία να ελέγχει αν ένα όνομα τελειώνει σε "ακης" (akis). Σε αυτή την περίπτωση η τιμή της θα είναι True, αλλιώς η τιμή της συνάρτησης θα είναι False. (β) Βελτιώστε την παραπάνω συνάρτηση ώστε να ελέγχει αν το όνομά μας τελειώνει σε "ακης" (akis), "ιδης" (idis), "άκος" (akos) κλπ και να επιστρέφει τον αντίστοιχο πιθανό τόπο καταγωγής.

Άσκηση.

Γράψτε μια συνάρτηση με το όνομα vowelCount και όρισμα την ακολουθία χαρακτήρων s η οποία να επιστρέφει τον αριθμό των φωνηέντων σε αυτή την ακολουθία χαρακτήρων.

Άσκηση.

Γράψτε μία συνάρτηση η οποία θα διαβάζει μία συμβολοσειρά η οποία περιέχει ονόματα χωρισμένα με κόμματα και θα τυπώνει τα ονόματα σε χωριστές γραμμές. [Υπόδειξη. Χρησιμποιήστε την μέθοδο split.]

Άσκηση.

Γράψτε μια συνάρτηση η οποία με όρισμα τον ακέραιο n επιστρέφει τη μεγαλύτερη δύναμη του 2 η οποία διαιρεί ακριβώς το n. [Κώδικας]

Άσκηση.

(α) Γράψτε μία συνάρτηση η οποία θα δέχεται δύο διανύσματα (των οποίων οι συνιστώσες θα δίνονται ως λίστες) και θα επιστρέφει το άθροισμά τους. (β) Γενικεύστε την προηγούμενη συνάρτηση ώστε να δίνει έναν γραμμικό συνδυασμό των διανυσμάτων.

Εργαστήριο (χειμερινό εξάμηνο 2017)

  1. 24-isprime
  2. 26-integer-points
  3. 28-sum-deep-list
  4. 29-interleave
  5. 30-robot-motion-complex-X
  6. 31-string-to-list
  7. 32-vector-inner-product
  8. 33-vector-projection
  9. 34-robot-motion-complex-XX
  10. 35-symmetric-difference
  11. 36-add-polynomials
  12. 37-get-back-in-line
  13. 49-find-the-root

Βιβλιογραφία

www.w3resource.com.