Μάθημα : Προγραμματισμός Η/Υ

Κωδικός : T522234

T522234  -  ΔΗΜΗΤΡΙΟΣ ΜΠΑΜΠΑΣ

Ενότητες μαθήματος - Συμβολοσειρές (strings)

Συμβολοσειρές (strings)

Τα αλφαριθμητικά ή συμβολοσειρές είναι ακολουθίες από χαρακτήρες που έχουν σταθερό μέγεθος και μη μεταβαλλόμενα περιεχόμενα.
Ανήκουν στις μη μεταβαλλόμενες (immutable) δομές της Python.
Ο τύπος των αλφαριθμητικών ονομάζεται str.

Η αναφορά σε ένα χαρακτήρα μιας συμβολοσειράς γίνεται με  ΌνομαΜετβλτ[θέση]
Η αρίθμηση των χαρακτήρων σε ένα αλφαριθμητικό ξεκινάει από το 0.

● η συνάρτηση len επιστρέφει το μήκος, δηλαδή το πλήθος των χαρακτήρων του αλφαριθμητικού
● ο τελεστής + όταν εφαρμόζεται σε αντικείμενα τύπου string, έχει σαν αποτέλεσμα τη συνένωσή τους σε μια συμβολοσειρά
● η συνάρτηση str μετατρέπει μια τιμή σε συμβολοσειρά
● με τη συνάρτηση int μπορούμε να μετατρέψουμε ένα αλφαριθμητικό στον ακέραιο αριθμό που αναπαριστά.
● υπαρξιακός τελεστής in ελέγχει, αν ένα αντικείμενο (δηλαδή χαρακτήρες ή ακολουθία χαρακτήρων ) ανήκει σε ένα σύνολο αντικειμένων (δηλαδή σε μια συμβολοσειρά).  Επιστρέφει True όταν ανήκει.
● οι συγκριτικοί τελεστές (<, <=, >, >=, ==, !=) ισχύουν και στις συμβολοσειρές. Το αποτέλεσμα βασίζεται στη λεξικογραφική διάταξη των χαρακτήρων.

Τελεστής διαμέρισης (slice operator)
Ο τελεστής διαμέρισης (:) επιστρέφει ένα τμήμα μιας συμβολοσειράς. Η έκφραση string[a : b ] μας επιστρέφει το τμήμα της συμβολοσειράς ή της λίστας από το στοιχείο string[a] μέχρι και το στοιχείο string[b-1]. ( a,b θέσεις στη λίστα)

Πως διατρέχω χαρακτήρα -χαρακτήρα ένα string
A! τρόπος
>>> z='hi my name is dimitris'
>>> for i in z:
                    print i
Β! τρόπος
>>> for i in range(len(z)):
                      print z[i]

Ασκήσεις

Να γράψετε ένα πρόγραμμα το οποίο θα διαβάζει μία λέξη και θα εμφανίζει τα γράμματά της, ένα σε κάθε γραμμή.

(πηγή Σημειώσεις Μαθητή)

Ασκήσεις

Να γράψετε ένα πρόγραμμα το οποίο θα διαβάζει μία λέξη και θα εμφανίζει πόσα κεφαλαία αγγλικά γράμματα περιέχει η λέξη.

(πηγή Σημειώσεις Μαθητή)

Ασκήσεις

Να γράψετε μια συνάρτηση isSubstring(string, substring) η οποία θα ελέγχει, αν η συμβολοσειρά substring περιέχεται στη συμβολοσειρά string και αν ναι, θα επιστρέφει True. Στη συνέχεια να υλοποιήσετε μια δεύτερη συνάρτηση, η οποία θα επιστρέφει πόσες φορές εμφανίζεται μια συμβολοσειρά μέσα σε μια άλλη.

(πηγή Σημειώσεις Μαθητή)

Ασκήσεις

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

(πηγή Σημειώσεις Μαθητή)

Ασκήσεις

Να γράψετε μια συνάρτηση σε Python η οποία θα δέχεται μια λίστα από λέξεις και θα επιστρέφει τη λέξη με το μεγαλύτερο μήκος..

(πηγή Σημειώσεις Μαθητή)

Ασκήσεις

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

(πηγή Σημειώσεις Μαθητή)

B3.
Να γράψετε τη συνάρτηση find_gr() η οποία δέχεται μία λίστα L, που περιέχει ονόματα ιστοτόπων. Στη συνέχεια να υπολογίζει και να επιστρέφει το πλήθος των ιστοτόπων της λίστας που έχουν κατάληξη ".gr".
Μονάδες 7
(ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2020)

Δραστηριότητα 2. 
Να γράψετε μια συνάρτηση η οποία θα ελέγχει αν μια συμβολοσειρά αποτελεί ηλεκτρονική διεύθυνση αλληλογραφίας ελληνικού ιστότοπου, δηλαδή περιέχει το σύμβολο ‘@’, δεν περιέχει κενά και έχει κατάληξη ‘.gr’.
(Τετράδιο εργασιών)

Λύση

def address(x):
               if (not ' ' in x) and ('@' in x) and ('.gr'==x[-3:]):
                                                flag=True
               else:
                                               flag=False
              return flag
#κυριως προγραμμα
mail=raw_input('δωσε την διευθυνση' )
print 'ειναι ελληνικο μέιλ;', address(mail)

Ασκήσεις

Στη μυστική υπηρεσία χρησιμοποιείται ο αλγόριθμος κρυπτογράφησης του Καίσαρα. Σύμφωνα μ' αυτόν κάθε γράμμα του αλφαβήτου αντιστοιχίζεται στο κρυπτογραφημένο κείμενο με το γράμμα που βρίσκεται κάποιες θέσεις μπρός/ πίσω του στο αλφάβητο. Δηλαδή, το κλειδί κρυπτογράφησης είναι ένας αριθμός θετικός(μπρος) ή αρνητικός (πίσω) που εκφράζει την αντιστοίχιση.

Να γραφεί πρόγραμμα σε python στο οποίο εισάγεται το κλειδί (αριθμός γραμμάτων πίσω/ μπρος), το κείμενο (στα κεφαλαία) και η επιλογή 1-κρυπτογράφηση 2-αποκρυπτογράφηση. Για το κλειδί, να γίνεται έλεγχος ορθότητας έτσι ώστε να μην υπερβαίνει το πλήθος των γραμμάτων του αλφαβήτου
Εμφανίζει το αποτελεσμα της κρυπτογράφησης/ αποκρυπτογράφησης του κειμένου που δόθηκε.
Προσοχή να λαμβάνεται υπόψη η ύπαρξη κενών και σημείων στίξης.

Βοήθεια
alfavito='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lexi=raw_input('dose tin lexi ')
kleidi=input ('dose to kleidi ')
nealexi=''
for z in lexi:
        thesi=0
        thesi2=0
        for i in alfavito:
                   if z==i:
                            thesi2=thesi
                   thesi+=1
        nealexi=nealexi+alfavito[(thesi2+kleidi)%26]
print nealexi