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

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

Η Μέρα της Εβδομάδας. Πες Μου Πότε

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

Λογικές εκφράσεις και μεταβλητές

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

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

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

Σημειώσεις. Ο αριθμός των στοιχείων μίας λίστας μπορεί να βρεθεί με χρήση της συνάρτησης len:

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Σημειώσεις. Ο αριθμός των στοιχείων μίας λίστας μπορεί να βρεθεί με χρήση της συνάρτησης len:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

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

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

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

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

ΕΠΛ131 Αρχές Προγραμματισμού Ι

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

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

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

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

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

ΘΕΜΑ 1ο Α. 1-6 Σωστό Λάθος Μονάδες 12 Β. Στήλης Στήλης Β Στήλης Α Στήλης Β).

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012

Διαδικασιακός Προγραμματισμός

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

Shell Scripts: loops / if / test

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Επιλέξτε Κελιά /Γραμματοσειρά και δώστε συγκεκριμένο μέγεθος και τύπο

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

Α1. 1-Σωστό 2-Λάθος 3-Λάθος 4-Σωστό 5-Σωστό

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

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

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

Γνωρίστε το Excel 2007

ΚΑΤΑΛΗΚΤΙΚΕΣ ΗΜΕΡΟΜΗΝΙΕΣ ΥΠΟΒΟΛΗΣ ΜΗΝΙΑΙΑΣ Α.Π.. ΟΙΚΟ ΟΜΟΤΕΧΝΙΚΩΝ ΕΡΓΩΝ ΜΙΣΘΟΛΟΓΙΚΗΣ ΠΕΡΙΟ ΟΥ 1/2009

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: Γ ΛΥΚΕΙΟΥ HM/NIA: 21/2/2016

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Τμήμα Διοίκησης Τεχνολογίας. Εξάμηνο Β' Φύλλο Ασκήσεων 2 ΔΟΜΕΣ ΕΠΙΛΟΓΗΣ Διδάσκοντες: Στέλιος Ξυνόγαλος, Θεόδωρος Κασκάλης

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

Mεταβλητές (variables) και Σταθερές (constants)

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

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ ΑΕΠΠ

Επικοινωνία:

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

Ε.Φ.Ο.Α. ΑΓΩΝΙΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑ 2011

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

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

Βασικά στοιχεία της Java

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07

Πληροφορική ΙΙ Ενότητα 1

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

στο μάθημα κατεύθυνσης Γ τάξης ενιαίου Λυκείου: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον (χρονική διάρκεια: sec)

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

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

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

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

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

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

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

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

Κεφάλαιο Απλός τόκος. 1.1 Η εξίσωση του απλού τόκου

ΚΕΝΤΡΙΚΗ ΟΡΓΑΝΩΤΙΚΗ ΕΠΙΤΡΟΠΗ 8 ου ΠΑΝΕΛΛΗΝΙΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ 1996 ΠΡΟΚΑΤΑΡΚΤΙΚΗ ΦΑΣΗ ΠΑΝΕΛΛΗΝΙΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΘΕΜΑΤΑ ΓΥΜΝΑΣΙΟΥ

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Σημειωματάριο μαθήματος 1ης Νοε. 2017

β. Ποιοι λόγοι θα μας οδηγούσαν στο να αναθέσουμε την επίλυση προβλημάτων στον υπολογιστή; (μονάδες 4) (Μονάδες 6)

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

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

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Κεφάλαιο Πέµπτο: Η Εξάσκηση

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Transcript:

Σημειωματάριο Τετάρτης 11 Οκτ. 2017 Παραδείγματα χρήσης του if και χρήσης λιστών Το πρώτο πρόγραμμα που γράψαμε σήμερα παίρνει ως είσοδο τρεις πραγματικούς αριθμούς και τους τυπώνει με φθίνουσα σειρά. Ο τρόπος που το πετυχαίνουμε αυτό είναι ότι πραγματοποιούμε μερικές "συγκρίσεις ζευγών". Μια σύγκριση ζεύγους συνίσταται στο να κοιτάξουμε δύο από τους αριθμούς μας (τους x, y, z δηλ. που θέλουμε στο τέλος να ικανοποιούν τις ανισότητες x y z) και αν οι δύο αυτοί αριθμοί δεν είναι στη σωστή σειρά τότε εναλλάσουμε τα περιεχόμενα των δύο αντίστοιχων μεταβλητών. Π.χ. κοιτάμε στο πρώτο if του προγράμματος αν τα x, y είναι στη σωστή σειρά, αν ισχύει δηλ. x y. Αν δεν ισχύει το επιθυμητό, αν ισχύει δηλ. x < y, τότε εναλλάσουμε τα περιεχόμενα των δύο μεταβλητών x και y. Αν αυτό το κάνουμε για τα ζεύγη x, y και x, z τότε ξέρουμε ότι μετά από τις δύο αυτές συγκρίσεις ζευγών η μεταβλητή x θα έχει το σωστό περιεχόμενο, θα περιέχει δηλ. τη μέγιστη τιμή από τις τρεις μεταβλητές. Αν, μετά από αυτό, κάνουμε ακόμη τη σύγκριση του ζεύγους y, z τότε μετά το τέλος αυτής της πράξης και οι τρεις μεταβλητές θα έχουν τα σωστά τους περιεχόμενα. Τα τρία if του προγράμματος κάνουν λοιπόν ακριβώς αυτές τις τρεις συγκρίσεις ζευγών. Η βοηθητική μεταβλητή t χρησιμοποιείται κάθε φορά για να εναλλάξουμε τις τιμές δύο μεταβλητών. Π.χ. για να εναλλάξουμε τις τιμές των x, y δίνουμε τις τρεις εκχωρήσεις: t = y; y = x; x = t Στην python είναι δυνατόν οι δύο μεταβλητές x και y να εναλλαγούν και πιο απλά από τη παραπάνω, με την εντολή x, y = y, x In [1]: x = float(input("δώσε αριθμό x: ")) y = float(input("δώσε αριθμό y: ")) z = float(input("δώσε αριθμό z: ")) # Κάνουμε τρεις ελέγχους ζευγών. Μετά από αυτές οι τρεις μεταβλητές # x, y, z είναι σε φθίνουσα σειρά if y>x: t = y; y = x; x = t if z>x: t = z; z = x; x = t if z>y: t = z; z = y; y = t print("{} {} {}".format(x, y, z)) Δώσε αριθμό x: 3 Δώσε αριθμό y: 4 Δώσε αριθμό z: 1 4.0 3.0 1.0 http://fourier.math.uoc.gr/~mk/prog1718/files/notes/20171011.html 1/5

Το επόμενό μας πρόγραμμα υπολογίζει το φόρο που αντιστοιχεί σε εισόδημα x. Οι κανόνες είναι οι εξής: Αν το εισόδημα είναι και είναι ο φόρος που του αντιστοιχεί τότε η υπολογίζεται ως εξής: x 0 T(x) T(x) [0, x] = 5000 x1 = 10000 x2 = 20000 [0, x] (0, x0], ( x0, x 1], ( x1, x 2], ( x2, + ). Θεωρούμε το διάστημα στην πραγματική ευθεία και τα διαχωριστικά σημεία x0,,. Το διάστημα καλύπτει ένα κομμάτι σε κάθε ένα από τα διαστήματα Το κομμάτι που καλύπτει στο πρώτο διάστημα πολλαπλασιάζεται με 0 (αφορολόγητο), το κομμάτι στο διάστημα ( x0, x 1 ] πολλαπλασιάζεται με 0.2 ("φόρος κλιμακίου 20%"), το κομμάτι στο διάστημα ( x1, x 2] πολλαπλασιάζεται με 0.3 και, τέλος, το κομμάτι στο διάστημα ( x2, + ) πολλαπλασιάζεται με 0.5. Αυτά αθροίζονται και έτσι προκύπτει ο συνολικός φόρος. T(x) In [3]: x = float(input("ποιο είναι το εισόδημα; ")) if x <= 5e3: # Όλο το ποσό είναι αφορολόγητο T = 0 if 5e3 <= x and x <= 1e4: # Το ποσό καλύπτει και μέρος του διαστήματος (5000, 10 000) αλλά όχι παραπέρα T = (x-5e3)*0.2 if 1e4 <= x and x <= 2e4: # Το ποσό καλύπτει και μέρος του διαστήματος (10000, 2 0000) αλλά όχι παραπέρα T = 5e3*0.2 + (x-1e4)*0.3 if x > 2e4: # Το ποσό είναι πέρα από 20000 T = 5e3*0.2 + 1e4*0.3 + (x-2e4)*0.5 print("ο φόρος είναι {}".format(t)) Ποιο είναι το εισόδημα; 25000 Ο φόρος είναι 6500.0 Εδώ ξαναγράφουμε το πρόγραμμα με χρήση του if... elif. Έτσι γίνεται απλούστερο και πιο κατανοητό. In [4]: x = float(input("ποιο είναι το εισόδημα; ")) if x <= 5e3: T = 0 elif x <= 1e4: T = (x-5e3)*0.2 elif x <= 2e4: T = 5e3*0.2 + (x-1e4)*0.3 T = 5e3*0.2 + 1e4*0.3 + (x-2e4)*0.5 print("ο φόρος είναι {}".format(t)) Ποιο είναι το εισόδημα; 15000 Ο φόρος είναι 2500.0 http://fourier.math.uoc.gr/~mk/prog1718/files/notes/20171011.html 2/5

Το επόμενό μας πρόγραμμα διαβάζει μια ημερομηνία από το χρήστη (ημέρα, μήνας, έτος) χωρισμένα από κόμμα και τυπώνει την ημερομηνία της επόμενης ημέρας. Φυσικά η δυσκολία είναι στις περιπτώσεις που αλλάζει ο μήνας ή και ο χρόνος. Παρατηρείστε ότι στην πρώτη γραμμή του προγράμματος διαβάζουμε και τους τρεις αριθμούς ταυτόχρονα, ως μια τριάδα (tuple). Ο χρήστης πρέπει να τα δώσει στην ίδια γραμμή χωρισμένα με κόμμα. In [17]: day, month, year = eval(input("δώστε την ημερομηνία στη μορφή ημέρα, μήνας, χρόν ος: ")) # Ελέγχουμε αν έτος δίσεκτο. Ένα έτος είναι δίσεκτο αν # (διαρείται από το 400) ή (διαρείται από το 4 αλλά όχι από το 100) if (year % 400 == 0) or ( (year % 4 == 0) and (year % 100!= 0)): leap = True leap = False # Στη μεταβλητή leap αποθηκεύουμε τον υπολογισμό μας. Είναι Tru e αν και μόνο αν το έτος είναι δίσεκτο. # Υπολογίζουμε την τελευταία μέρα του μήνα στη μεταβλητή lastday if month in [4, 6, 9, 11]: # Οι μήνες με τριάντα μέρες είναι αυτοί που είναι μέσ α στη λίστα. # Ελέγχουμε αν ο μήνας είναι μέσα σε αυτή τη λίστα lastday = 30 elif month == 2: # Αν ο μήνας είναι Φεβρουάριος if leap: # αν το έτος είναι δίσεκτο τότε η τελευταία μέρα είναι η 29η lastday = 29 # αλλιώς είναι η 28η lastday = 28 # Αν ο μήας δεν είναι 30άρης ούτε ο Φεβρουάριος τότε έχει 31 μέρες lastday = 31 if day < lastday: # Αν η μέρα δεν είναι η τελευταία του μήνα όλα είναι απλά nextday = day+1 nextmonth = month # Αν η μέρα είναι η τελευταία του μήνα nextday = 1 # η επόμενη μέρα είναι πάντα η πρώτη κάποιου μήνα if month==12: # αν ο μήνας είναι ο 12ος nextmonth = 1 # τότε ο νας της επόμενης μέρας είναι ο Ιανουάριος +1 # και η χρονιά της επόμενης μέρας είναι η επόμενη χρον ιά # αν ο μήνας δεν είναι ο 12ος nextmonth = month+1 # ο μήνας της επόμενης μέρας είναι ο επόμενος αριθμη τικά μήνας # και το έτος της επόμενης μέρας είναι το ίδιο print("η επόμενη ημερομηνία είναι η {}-{}-{}".format(nextday, nextmonth, nextyea r)) Δώστε την ημερομηνία: 31,12,2017 Η επόμενη ημερομηνία είναι η 1-1-2018 http://fourier.math.uoc.gr/~mk/prog1718/files/notes/20171011.html 3/5

Τώρα τροποποιούμε το πρόγραμμά μας ώστε να τυπώνουμε το μήνα με το όνομά του και όχι με τον αριθμό του. Για να το πετύχουμε αυτό ορίζουμε μια λίστα name με όλα τα ονόματα μηνών στη σειρά (τη γενική του ονόματος). Αντί να τυπώνουμε τον αριθμό του μήνα nextmonth τυπώνουμε το όνομα που του αντιστοιχεί και το οποίο είναι το name[nextmonth-1]. Ο λόγος για το -1 είναι ότι η αρίθμηση των μηνών αρχίζει από το 1 ενώ η αρίθμηση των στοιχείων μιας λίστας (όπως και αυτή των γραμμάτων ενός string) αρχίζει από το 0. In [22]: day, month, year = eval(input("δώστε την ημερομηνία: ")) # Ελέγχουμε αν έτος δίσεκτο if (year % 400 == 0) or ( (year % 4 == 0) and (year % 100!= 0)): leap = True leap = False # Υπολογίζουμε την τελευταία μέρα του μήνα if month in [4, 6, 9, 11]: lastday = 30 elif month == 2: if leap: lastday = 29 lastday = 28 lastday = 31 if day < lastday: nextday = day+1 nextmonth = month nextday = 1 if month==12: nextmonth = 1 +1 nextmonth = month+1 name = ["Ιανουαρίου", "Φεβρουαρίου", "Μαρτίου", "Απριλίου", "Μαϊου", "Ιουνίου", "Ιουλίου", "Αυγούστου", "Σεπτεμβρίου","Οκτωβρίου", "Νοεμβρίου", "Δεκεμβρίου"] print("η επόμενη ημερομηνία είναι η {}-{}-{}".format(nextday, name[nextmonth-1], nextyear)) Δώστε την ημερομηνία: 3,4,2020 Η επόμενη ημερομηνία είναι η 4-Απριλίου-2020 http://fourier.math.uoc.gr/~mk/prog1718/files/notes/20171011.html 4/5

http://fourier.math.uoc.gr/~mk/prog1718/files/notes/20171011.html 5/5