Λειτουργικες Μοναδες

# Λειτουργικες Μονάδες

Ξεκινάμε με την άσκηση πληκτρολογησης του κεφαλαιου (ονομαστε την cal.py):

    import calendar

    year = input("Type in the year number:")
    calendar.prcal(year)

And here is part of the output I got:

    Type in the year number:2001
                                      2001

           January                  February                    March
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
     1  2  3  4  5  6  7                1  2  3  4                1  2  3  4
     8  9 10 11 12 13 14       5  6  7  8  9 10 11       5  6  7  8  9 10 11
    15 16 17 18 19 20 21      12 13 14 15 16 17 18      12 13 14 15 16 17 18
    22 23 24 25 26 27 28      19 20 21 22 23 24 25      19 20 21 22 23 24 25
    29 30 31                  26 27 28                  26 27 28 29 30 31

(Δεν γράφω ολοκληρο το αποτέλεσμα αλλα καταλαβαινετε τι συμβαινει.) Τι κάνει λοιπον το προγραμμα; Η γραμμη `import calendar` χρησιμοποιεί την νεα εντολη `import`. Η εντολη `import` φορτωνει μια λειτουργικη μονάδα (στην περιπτωση μας την λειτουργικη μονάδα του ημερολογιου (`calendar`)). Για να δείτε τιε εντολες που χρησιμοποιουνται για τις λειτουργικες μοναδες μπορειτε ειτε να κοιταξετε στην library reference της python (αν την μεταφορτωσατε) ή στην διευθυνση `http://www.python.org/doc/current/lib/lib.html`. Η λειτουργικη μονάδα του ημερολογιου περιγραφεται στο 5.9. Αν κοιταξετε στους καταλογους τεκμηριωσης θα βρειτε μια συνάρτηση που λεγεται `prcal`, η οποια εμφανιζει ένα ετησιο ημερολογιο. Η γραμμή `calendar.prcal(year)` χρησιμοποιεί αυτην την συνάρτηση. Με λιγα λογια, για να χρησιμοποιησετε μια λειτουργική μονάδα εισαγετέ την (`import`) και χρησιμοποιηστε την συνάρτηση module_name.function που θέλετε για την λειτουργικη μοναδα. Ενας άλλος τροπος να γράψουμε το προγραμμα ειναι:

    from calendar import prcal

    year = input("Type in the year number:")
    prcal(year)

Αυτος ο τροπος εισαγει μια συγκεκριμενη συνάρτηση απο μια λειτουργική μονάδα. Να και ενα άλλο προγραμμα που χρησιμοποιει την βιβλιοθηκη της Python (ονομάστε το σαν clock.py η κάτι τετοιο) (Πατήστε `Ctrl+C' για να τρεματισετε το προγραμμα):

    from time import time, ctime

    prev_time = ""
    while(1):
        the_time = ctime(time())
        if(prev_time != the_time):
            print "The time is:",ctime(time())
            prev_time = the_time

Με το αποτελεσμα να μοιάζει με:

    The time is: Sun Aug 20 13:40:04 2000
    The time is: Sun Aug 20 13:40:05 2000
    The time is: Sun Aug 20 13:40:06 2000
    The time is: Sun Aug 20 13:40:07 2000
    Traceback (innermost last):
      File "clock.py", line 5, in ?
        the_time = ctime(time())
    KeyboardInterrupt

Το αποτελεσμα συνεχιζεται επ' απειρον και γι' αυτο σταματησα το πρόγραμμα (πατωντας `Ctrl+C'). Τρεχει έναν ατελειωτο βρογχο και κάθε φορα ελεγχει να δει αν άλλαξε η ωρα και την εμφανιζει αν οντως άλλαξε. Παρατηρηστε πως χρησιμοποιουνται πολλαπλα ονοματα στην γραμμη `from time import time, ctime` μετά την χρηση της import.

Η βιβλιοθηκη της Python περιέχει πολλες χρησιμες συναρτήσεις. Αυτες μπορουν να δωσουν στα προγραμματα σας περισσοτερες ικανοτητες αλλα κυριως να απλοποιησουν την δουλεια σας στον προγραμματισμο με την Python.

# Ασκησεις

Ξαναγράψτε το προγραμμα high_low.py της ενοτητας 5.2 έτσι ωστε να χρησιμοποιεί τα δυο τελευταια ψηφια της ωρας την στιγμη που θα εισάγει τον "τυχαίο" αριθμο.