Λίστες
Ασκήσεις κατανόησης
Άσκηση.
(Κατασκευή λίστας με append)
Γράψτε ένα πρόγραμμα το οποίο κατασκευάζει μία λίστα με στοιχεία 0,1,2,...,99.
L = []
n = 100
i = 0
while i < n:
L.append(i)
i += 1
Άσκηση.
Γράψτε ένα πρόγραμμα το οποίο κατασκευάζει μία λίστα η οποία περιέχει τα στοιχεία 0,1,2,...,99.
L = []
n = 100
i = 0
while i < n:
L = L + [i]
i += 1
Άσκηση.
(Κατασκευή λίστας με append)
Γράψτε ένα πρόγραμμα το οποίο θα ζητάει από τον χρήστη δεδομένα (λέξεις) και θα κατασκευάζει μία λίστα όπου θα τα εισάγει.
Η εισαγωγή δεδομένων θα τερματίζεται όταν ο χρήστης δώσει τη λέξη ’end’.
Τέλος το πρόγραμμα θα τυπώνει την λίστα.
[Υπόδειξη: θα χρησιμοποιήσουμε μία επανάληψη while
ενώ τα στοιχεία θα προστίθενται στην λίστα με την μέθοδο append
.]
L = []
while True:
d = input("Give data: ")
if d == 'end':
break
L.append(d)
print(L)
Άσκηση.
Γράψτε ένα πρόγραμμα το οποίο θα ζητάει από τον χρήστη να εισάγει μία λίστα.
Μετά, το πρόγραμμα θα τυπώνει την λίστα.
[Υπόδειξη: Η εντολή eval
μετατρέπει τα δεδομένα σε λίστα εφόσον αυτά βρίσκονται εντός ορθογωνίων παρενθέσεων.]
L = eval(input("Give a list of data: "))
print(L)
Άσκηση.
(Εκτύπωση στοιχείου λίστας)
Γράψτε ένα πρόγραμμα στο οποίο θα δίνεται ένας αριθμός 0 ≤ i ≤ 12
και θα τυπώνει τον αντίστοιχο μήνα.
months = ["January","February","March","April","May","June","July", \
"August","September","October","November","December"]
m = int(input("Give number for month: "))
if 1 <= m <= 12:
print("The",m,"th month is",months[m-1])
else:
print("There is no",m,"th month.")
Δείτε ότι η φράση προς εκτύπωση θα ήταν ίσως πιο ωραία αν κατασκευαστεί ως εξής.
s = "The " + str(m) + "th month is " + months[m-1]
print(s)
Ασκήσεις εργαστηρίου
Άσκηση.
Γράψτε ένα πρόγραμμα στο οποίο ο χρήστης θα εισάγει διαδοχικά πραγματικούς αριθμούς x0, x1, x2..., (χρησιμοποιώντας την while
) και θα κατασκευάζει μία λίστα L
με τα μερικά αθροίσματα των αριθμών.
Δηλαδή, θα είναι L[0]=x0, L[1]=x0+x1, L[2]=x0+x1+x2
κλπ.
Η είσοδος των δεδομένων θα πρέπει να τερματίζεται όταν ο χρήστης δώσει τη λέξη ’end’.
Άσκηση.
Γράψτε ένα πρόγραμμα στο οποίο ο χρήστης θα εισάγει διαδοχικά πραγματικούς αριθμούς x0, x1, x2..., (χρησιμοποιώντας την while
).
Το πρόγραμμα θέλουμε να υπολογίζει την μέση τιμή τους και την διακύμανση.
Η είσοδος των αριθμών θα πρέπει να τερματίζεται όταν ο χρήστης δώσει τη λέξη ’end’.
[Υπόδειξη. Θα πρέπει πρώτα να υπολογίσετε την μέση τιμή των δεδομένων xi, έστω X, και να αποθηκεύσετε τα δεδομένα σε μία λίστα. Μετά θα υπολογίσετε την διακύμανση η οποία είναι η μέση τιμή των (X-xi )2.]
Άσκηση.
Γράψτε ένα πρόγραμμα στο οποίο εισάγονται λέξεις από τον χρήστη και αποθηκεύει σε μια λίστα μόνο τις λέξεις με περισσότερα από 3 γράμματα. Στη συνέχεια τυπώνει την λίστα. Η είσοδος των λέξων θα πρέπει να τερματίζεται όταν ο χρήστης δώσει τη λέξη ’end’.
Άσκηση.
Γράψτε ένα πρόγραμμα το οποίο θα ζητάει από τον χρήστη μια λίστα με λέξεις.
Στη συνέχεια θα ζητάει επαναληπτικά από το χρήστη μεμονωμένες λέξεις θα ελέγχει αν η κάθε λέξη υπάρχει στη λίστα και αν υπάρχει θα τυπώνει τη θέση στην λίστα.
Η εισαγωγή δεδομένων θα τερματίζεται όταν ο χρήστης δώσει τη λέξη ’end’.
[Υπόδειξη. Χρησιμοποιήστε μεθόδους για λίστες.]
Άσκηση.
Γράψτε ένα πρόγραμμα το οποίο θα ζητάει από τον χρήστη μια λίστα με ακεραίους.
Στη συνέχεια θα αφαιρεί από την λίστα όλα τα μηδέν και θα τυπώνει την λίστα.
[Υπόδειξη. Χρησιμοποιήστε μεθόδους για λίστες.]
Άσκηση.
Μπορούμε να βρούμε το μικρότερο στοιχείο μιας λίστας χρησιμοποιώντας τη συνάρτηση min.
Πώς μπορούμε να βρούμε το δεύτερο μικρότερο στοιχείο μιας λίστας;
[Υπόδειξη. Χρησιμοποιήστε μεθόδους για λίστες και συναρτήσεις, π.χ., min,max,sort,remove
κλπ.]
Ασκήσεις για υποβολή
Δείτε το σύστημα υποβολής ασκήσεων και πλήρη κατάλογο ασκήσεων εδώ.
Άσκηση.
A19-listOfMeanValues
[tester]
Άσκηση.
A20-whichInterval
[tester]
Άσκηση.
A21-twoListsOrdered
[tester]
Άλλες ασκήσεις
Άσκηση.
Βιβλιογραφία
- Ιστοσελίδα Μ. Πλεξουσάκη.
- Ιστοσελίδα Μ. Κολουντζάκη.