Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
38 lines (30 sloc) 3.27 KB
''' άσκηση από το http://pythonies.mysch.gr/chapters/answer.pdf
Να γράψετε πρόγραμμα που θα ζητάει από το χρήστη το πλήθος των δευ-
τερολέπτων που έχουν περάσει από τα μεσάνυχτα και θα εμφανίζει την
τρέχουσα ώρα στη μορφή ώρες:λεπτά:δευτερόλεπτα. Για παράδειγμα,
αν ο χρήστης καθορίσει ότι έχουν περάσει 42222 δευτερόλεπτα από τα
μεσάνυχτα, το πρόγραμμα θα απαντά ότι η ώρα είναι 11:43:42.
'''
print("Πόσα δευτερόλεπτα έχουν περάσει από τα μεσάνυκτα;")
seconds = int(input())
# 1 ώρα έχει 3600 δευτερόλεπτα. Υπολογίζοντας τις φορές που χωράει το 3600 μέσα σε έναν αριθμό δευτερολέπτων
# υπολογίζουμε τις ώρες που κρύβονται μέσα σε αυτό τον αριθμό. Επομένως θα υπολογίσουμε το ακέραιο πηλίκο της διαίρεσης.
hours = seconds // 3600
# Το υπόλοιπο της διαίρεσης των δευτερολέπτων με το 3600 είναι τα δευτερόλεπτα που απομένουν
# χωρίς ν' αντιστοιχούν σε ολόκληρες ώρες.
secondsleft = seconds % 3600
# Τώρα έχουμε ένα μικρότερο πρόβλημα: να υπολογίσουμε τα λεπτά που αντιστοιχούν
# στα δευτερόλεπτα που έχουν απομείνει. Θα σκεφτούμε και πάλι με παρόμοιο τρόπο.
# 1 λεπτό έχει 60 δευτερόλεπτα. Υπολογίζοντας τις φορές που χωράει το 60 μέσα σε έναν αριθμό δευτερολέπτων
# υπολογίζουμε τα λεπτά που κρύβονται μέσα σε αυτό τον αριθμό.
minutes = secondsleft // 60
# Το υπόλοιπο της διαίρεσης των δευτερολέπτων με το 60 είναι τα δευτερόλεπτα που απομένουν
# χωρίς ν' αντιστοιχούν σε ολόκληρα λεπτά.
secondsleft = secondsleft % 60
print("Η ώρα είναι:")
# Eμφάνιση των αποτελεσμάτων με τη χρήση της μεθόδου format.
# Mε το {:02} ορίζουμε ότι ο αριθμός που θα εμφανιστεί θα καταλαμβάνει δύο θέσεις στην οθόνη.
# Eφόσον ο αριθμός ειναι μικρότερος, δηλαδή μονοψήφιος, θα μπει στην πρώτη θέση το ψηφίο 0.
# Για να μην εκτυπώνονται κενά ανάμεσα στα διάφορα τμήματα που αποτελούν το μήνυμα, αλλάζουμε το εξ ορισμού διαχωριστικό
# της print, από ένα κενό διάστημα σε μηδενικό διάστημα, χρησιμοποιώντας την παράμετρο sep.
print("{:02}".format(hours),":{:02}".format(minutes),":{:02}".format(secondsleft), sep="")