Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Σχετικά έγγραφα
Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Σημειωματάριο Τετάρτης 25 Οκτ. 2017

S, (5, -3, 34, -23, 7) ( *, _

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Μεθόδων Επίλυσης Προβλημάτων

Λίστες στο Scratch 2.0.

α. Οι συμβολοσειρές είναι μια ακολουθία από χαρακτήρες. Μια συμβολοσειρά μπορεί να αποτελείται από περισσότερες από μία λέξεις.

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

ΣΚΟΠΟΙ ΒΗΜΑ 1 Ο. Θα εμφανιστεί το λογότυπο του προγράμματος.. ..και μετά από λίγο ένα παράθυρο με τίτλο Προβολές CMap Tools. [1]

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2018 Β ΦΑΣΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Τυχαίοι αριθμοί ρίξε μια «ζαριά»

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

ΕΠΑΝΑΛΗΨΗ ΧΩΡΙΣ ΠΡΟΚΑΘΟΡΙΣΜΕΝΑ ΒΗΜΑΤΑ,ΜΕΤΡΗΤΕΣ,ΜΕΓΙΣΤΟΣ,ΜΕΓΙΣΤΟ ΟΝΟΜΑ Χαμηλόμισθος

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Βάσεις δεδομένων (Access)

Σημειωματάριο Δευτέρας 20 Νοε. 2017

Microsoft Word. Δυνατότητες του Word. Εισαγωγή και επεξεργασία Κειμένου

Προγραμματιστικό Περιβάλλον

Προγραµµατισµός στην Basic

Μάντεψε τον Αριθμό. Φύλλο Εργασίας. Οδηγίες

3. Γράψτε μία εντολή που να εμφανίζει π.χ. «Πόσα είναι τα κορίτσια του;» και μία που να εμφανίζει: «Τα κορίτσια του Τζειμς Μποντ είναι 4»

Λύσεις για τις ασκήσεις του lab5

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Βάσεις δεδομένων (Access)

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

Μάντεψε τον Αριθμό. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Οδηγίες

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Sheet PASS 1426 PASS 1428 PASS. Page 1

Εργαστήριο 9: Αρχεία

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ- Ακαδημαϊκό Φροντιστήριο ΕΠΑΛ-Κάνιγγος 13 Αθήνα 2017

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 5 - Editor

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

Εισαγωγή στην Αριθμητική Ανάλυση

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Θέματα Προγραμματισμού Η/Υ

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Εγχειρίδιο χρήσης Print2PDF σελ. 1 από 32

Λυμένες ασκήσεις με δομές επανάληψης και επιλογής. Εισαγωγή στην επιστήμη των Η/Υ της Β ΓενικούΛυκείου

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

του προγράμματος diagrama_rohs.zip )

Η Απάντηση. Φύλλο Εργασίας. Μηνύματα

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Ανάπτυξη εφαρμογής Input-Output

Mπαρμπούτι. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Τυχαιότητα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Η Απάντηση. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Μηνύματα. 1. Πληκτρολογήστε την εντολή:

Σενάριο 13: Προγραμματίζοντας ένα Ρομπότ

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Εντολές κίνησης και στροφής στο προγραμματιστικό περιβάλλον Scratch. ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ :

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

Εργαστηριακή Άσκηση 1

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Επίλυση της πρωτοβάθμιας εξίσωσης με χρήση πλαισίων κειμένου και κουμπιών. Με το σετ αυτών των 4 εντολών τι κάνω ; Διαβάζω τις 2 μεταβλητές α και β.

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Παιχνιδάκια με τη LOGO

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Πληροφορική ΙΙ Θεματική Ενότητα 13

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Δημιουργίας Ενεργειών

ΑΡΧΕΙΑ ΚΕΙΜΕΝΟΥ ΣΤΗΝ C

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Transcript:

Λίστα για ψώνια Έννοιες: αρχεία- άνοιγμα- εγγραφή διάβασμα Προαπαιτούμενα : δομή επιλογής, επανάληψης, συναρτήσεις, λίστες Ο Άκης, τώρα που έμαθε και τις λίστες στην Python αποφάσισε να φτιάξει μια λίστα με ψώνια, για να μην ξεχνάει τίποτα όταν θα πηγαίνει στο σουπερ μάρκετ. Για να την κάνει και ποιο χρήσιμη, σκέφτηκε να βάζει και τις τιμές και να υπολογίζει πριν φτάσει στο ταμείο αν του φτάνουν τα χρήματα! Όμως δεν γνωρίζει εκ των προτέρων τις τιμές. Αποφάσισε να γράψει μόνο τα ψώνια και να περάσει επί τόπου τις τιμές στο Σ/Μ. Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα; Όταν ένα πρόγραμμα χρειάζεται να αποθηκεύσει κάποια δεδομένα για μετέπειτα χρήση, τα γράφει σε ένα αρχείο με χρήση της open(), της write() και της close(). 1. Ξεκινήστε ένα νέο πρόγραμμα με όνομα: shoping_a.py. με κάποιο αρχικό μήνυμα π.χ. print ("προγραμμάτισε τα ψώνια σου") Η συνάρτηση open δημιουργεί ένα αντικείμενο αρχείου και το συσχετίζει με ένα αρχείο στο δίσκο. Η γενική μορφή χρήσης της είναι: μεταβλητή_αρχείου=open(όνομα_αρχείου, w ) μεταβλητή_αρχείου=open(όνομα_αρχείου, a ) μεταβλητή_αρχείου=open(όνομα_αρχείου, r ) το w από το write το a από το append το r από το read 2. Προσθέστε μια εντολή open που θα δημιουργεί ένα αντικείμενο αρχείου με όνομα π.χ. shopfile, θα το συσχετίζει με ένα αρχείο π.χ. market.txt και θα το ανοίγει για εγγραφή (w) # άνοιγμα/ δημιουργία αρχείου για τα ψώνια shopfile=open('market.txt', 'w') Αποθηκεύστε και τρέξτε το πρόγραμμά σας. Αναζήτησε στο φάκελο που αποθηκεύετε το αρχείο *.py, το αρχείο κειμένου market.txt που δημιουργείται κάθε φορά που εκτελείτε το πρόγραμμα, ανοίξτε το και ελέγξτε το περιεχόμενό του. 3. Προσθέστε μια εντολή με την οποία θα καταχωρείτε από το πληκτρολόγιο ένα προϊόν σε μια μεταβλητή product και στη συνέχεια την εντολή write η οποία γράφει στο αρχείο (shopfile) μια συμβολοσειρά (product) product =input ("γράψε προϊόν ") # εγγραφή στο αρχείο της συμβολοσειράς shopfile.write(product) Η μέθοδος write χρησιμοποιείται για την εγγραφή δεδομένων στο αρχείο. Η γενική μορφή χρήσης της είναι: μεταβλητή_αρχείου=write(string)

Αποθηκεύστε και τρέξτε το πρόγραμμά σας. Αναζήτησε πάλι το αρχείο κειμένου market.txt, ανοίξτε το και ελέγξτε το περιεχόμενό του. Άλλαξε κάτι;. 4. Προσθέστε μια εντολή close με την οποία θα κλείνει το αρχείο στο δίσκο #κλείσιμο του αρχείου shopfile.close() Η μέθοδος close χρησιμοποιείται για να κλείσουμε το αρχείο. Η γενική μορφή χρήσης της είναι: μεταβλητή_αρχείου.close Αποθηκεύστε, τρέξτε και ξαναελέγξτε το market.txt. Τι περιέχει τώρα; Τρέξτε μερικές φορές ακόμη το πρόγραμμά σας και ελέγξτε το αρχείο που δημιουργεί.. 5. Άλλαξε την παράμετρο προσπέλασης του αρχείου 'market.txt' από 'w' σε a και παρατήρησε τη διαφορά στο αρχείο κειμένου market.txt.. 6. Σε ποιο συμπέρασμα καταλήγετε για τον τρόπο δημιουργίας αρχείων δεδομένων με την Python;........ 7. Είστε έτοιμοι να γράψετε όλα τα ψώνια που προγραμματίζετε να κάνετε. Φτιάξτε μια επαναληπτική διαδικασία για αυτό, η οποία να τερματίζει αν δοθεί το ο. Τρέξτε το πρόγραμμά σας. Δουλεύει σωστά;.. 8. Την εντολή κλεισίματος του αρχείου την έχετε βάλει μέσα ή εκτός της επανάληψης;. Γιατί;. 9. Άλλαξε την «μέθοδο» που γίνεται εγγραφή στο αρχείο με την shopfile.write(product +'\n') και παρατήρησε τη διαφορά στο αρχείο κειμένου market.txt Σε ποιο συμπέρασμα καταλήγεις για τη χρήση του χαρακτήρα διαφυγής '\n' 10. Προσθέστε επιπλέον προϊόντα στο αρχείο σας χωρίς να σβηστούν τα προηγούμενα με χρήση της παραμέτρου a

shopfile=open('market.txt', 'a') 11. Τώρα θα φτιάξουμε ένα άλλο πρόγραμμα shoping_b.py που θα διαβάζει το αρχείο που δημιούργησε το προηγούμενο πρόγραμμα και θα το τοποθετεί σε μια λίστα. Ξεκινάμε με ένα μήνυμα και μια κενή λίστα μέσα στην οποία θα τοποθετήσουμε τα περιεχόμενα του αρχείου κειμένου market.txt: print ("τι έχω να πάρω από το σούπερ μάρκετ ") marketlist=[] 12. Στη συνέχεια γράφουμε μια εντολή, η οποία ανοίγει (open) το αρχείο 'market.txt' για ανάγνωση ( 'r') δημιουργεί ένα αντικείμενο αρχείου και εκχωρεί το αντικείμενο αυτό σε μία μεταβλητή με όνομα π.χ. : shopfile. # άνοιγμα αρχείου για ανάγνωση shopfile=open('market.txt', 'r') # διάβασμα ολόκληρου αρχείου line=shopfile.read() print (line) Εκτέλεσε το πρόγραμμα. Μας βολεύει αυτός ο τρόπος ανάγνωσης για την χρήση που θα κάνουμε στη συνέχεια; 13. Ας διαβάσουμε το αρχείο με τη μέθοδο readline(). # διάβασμα αρχείου ανά γραμμή Ποια διαφορά βλέπεις;. Εκτέλεσε μερικές φορές το παραπάνω πρόγραμμα, προσθέτοντας κάθε φορά τις δύο τελευταίες εντολές ανάγνωσης και εκτύπωσης γραμμής. print (line) print (line) Αν ένα αρχείο έχει ανοιχτεί για ανάγνωση, ('r') μπορούμε με τη μέθοδο read() του αντικειμένου αρχείου να διαβάσουμε όλο το αρχείο ή με τη μέθοδο readline() να διαβάσουμε μια γραμμή από ένα αρχείο. Μια γραμμή είναι μια συμβολοσειρά χαρακτήρων που τερματίζεται με \n. Η μέθοδος readline() επιστρέφει τη γραμμή ως συμβολοσειρά, περιλαμβανομένου και του \n.

Τι παρατηρείς;... Τι πιστεύεις ότι συμβαίνει κατά την ανάγνωση ανά γραμμή;. όταν ένα αρχείο ανοίγεται για ανάγνωση, μια ειδική τιμή με ονομασία «θέση ανάγνωσης» σηματοδοτεί τη θέση του επόμενου στοιχείου που πρόκειται να διαβαστεί από το αρχείο. 14. Και στους δύο τρόπους ανάγνωσης υπάρχει στο τέλος ο χαρακτήρας '\n'. Για την αφαίρεση του θα χρησιμοποιήσουμε τη μέθοδο συμβολοσειράς rstrip() η οποία αφαιρεί χαρακτήρες από το δεξί (right) άκρο μιας συμβολοσειράς. # αφαίρεση από τη γραμμή του χαρακτήρα \n line=line.rstrip('\n') 15. Θέλουμε να διαβάζουμε όλο το αρχείο μέχρι να συναντήσουμε κενή γραμμή και να προσθέτουμε (append) την κάθε γραμμή στη λίστα marketlist. Προσθέστε το κατάλληλο σημείο τις εντολές; while line!= "": marketlist.append (line) 16. Αν τυπώσουμε απλά τη λίστα δεν θα έχουμε τη δυνατότητα να εισάγουμε τιμές σε κάθε γραμμή. Για να το πετύχουμε αυτό θα διατρέξουμε ένα- ένα στοιχείο της λίστας με τη for για όλο το μήκος (len) της λίστας print (i+1, ". ", marketlist[i], "", end =" ") 17. και θα εισάγουμε τιμή για κάθε προϊόν με input() for i in range(0, len (marketlist)): print (i+1, ". ", marketlist[i], "", end =" ") timi=int(input (" = ")) 18. να αποθηκεύαμε και τις τιμές που δίνουμε σε μια λίστα; Τι εντολές θα πρέπει να προσθέσουμε; 19. Να τις αθροίζαμε συγχρόνως για να έχουμε και το συνολικό κόστος; Τι εντολές θα πρέπει να προσθέσουμε;

. 20. Τέλος να δίνει τα χρήματα που διαθέτει και αν δεν επαρκούν το πρόγραμμα να του προτείνει να αφαιρέσει κάποιο προϊόν από τη λίστα του δηλώνοντας τον αύξοντα αριθμό του, αλλιώς να του υπολογίζει τα ρέστα. if cost>poso: print ("δεν μπορώ να τα αγοράσω όλα") print ("δείξε μου να σκεφτώ τι θα αφήσω") 21. Βελτιώστε την εμφάνιση των αποτελεσμάτων σας όπως θέλετε. Ενδεικτικές λύσεις για τα δύο προγράμματα: print ("προγραμμάτισε τα ψώνια σου") # άνοιγμα/ δημιουργία αρχείου για τα ψώνια shopfile=open('market.txt', 'w') c=true while c: product=input ("γράψε προϊόν ή πάτα ο για τέλος ") if product== "o" or product== "ο": c=false else: shopfile.write(product +'\n') #κλείσιμο του αρχείου shopfile.close() print ("προγραμμάτισε τις αγορές σου") #λίστες για τα ψώνια και τις τιμές τους marketlist=[] exoda=[] # χρήματα που διαθέτεις #poso=100 c=true cost=0 # άνοιγμα αρχείου για ανάγνωση shopfile=open('market.txt', 'r') #διάβασμα 1ης γραμμής # αφαίρεση από τη γραμμμή του χαρακτήρα \n line=line.rstrip('\n') #διάβασμα όλου του αρχείου ανά γραμμή και προσθήκη του στη λίστα αγορών while line!="": marketlist.append (line) line=line.rstrip('\n')

print ("εμφάνιση λίστας για ψώνια") print (i+1, ". ", marketlist[i], "", end =" ") timi=int(input ("= ")) exoda.append (timi) cost=cost+timi print ("το συνολικό ποσό είναι: ", cost) poso=int(input ("δώσε χρήματα που διαθέτεις: ")) if cost>poso: print ("δεν μπορώ να τα αγοράσω όλα") print ("δείξε μου να σκεφτώ τι θα αφήσω") # εμφάνιση και των δύο λιστών παράλληλα print (i+1, marketlist[i], "=",exoda [i]) # αφαίρεση προϊόντος και από τις δύο λίστες af=int(input(' ποιο νούμερο αφαιρείς;')) marketlist.remove(marketlist[af-1]) exoda.remove(exoda[af-1]) # εκτύπωση νέων λίστών παράλληλα print (i+1, marketlist[i], "=",exoda [i]) else: print ("τα ρέστα σου είναι :", poso-cost, "ευρώ")