Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών.
Εάν είστε αρχάριοι Python, αυτό το απλό ξυπνητήρι είναι μια εξαιρετική πρακτική εισαγωγή.
Υπάρχουν πολλές ασκήσεις που θα μπορούσατε να χρησιμοποιήσετε για να ενισχύσετε τις δεξιότητές σας στο Python. Μία από αυτές τις ασκήσεις είναι ένα ξυπνητήρι, το οποίο μπορείτε να γράψετε ως ένα ενιαίο αρχείο σεναρίου. Μπορείτε επίσης να το εκτελέσετε χρησιμοποιώντας μια γραμμή εντολών.
Στο σενάριο του ξυπνητηριού, ο χρήστης πρέπει να ορίσει την ώρα που θα ήθελε να χτυπήσει το ξυπνητήρι. Το σενάριο Python θα εμφανίσει στη συνέχεια ένα μήνυμα "Ξύπνημα" στον χρήστη όταν χτυπήσει το ξυπνητήρι.
Μπορείτε επίσης να προσθέσετε μια αντίστροφη μέτρηση για να δείξετε στον χρήστη πόσο καιρό πρέπει να περιμένει μέχρι να χτυπήσει το ξυπνητήρι.
Πώς να ρυθμίσετε το ξυπνητήρι
Δημιουργήστε μια δέσμη ενεργειών Python και προσθέστε τις πρώτες εκτυπωμένες δηλώσεις για να ρωτήσετε τον χρήστη πότε θα ήθελε να ρυθμίσει το ξυπνητήρι. Εάν δεν είστε εξοικειωμένοι με κάποια σύνταξη της Python, μπορείτε να δείτε μερικά βασικά παραδείγματα python για να σας βοηθήσει να κατανοήσετε τα βασικά.
- Δημιουργήστε ένα νέο αρχείο και καλέστε το alarm.py.
- Ανοίξτε το σενάριο Python χρησιμοποιώντας οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου όπως το Notepad++.
- Στο επάνω μέρος του αρχείου, εισαγάγετε τις ενότητες ημερομηνίας και ώρας. Το πρόγραμμα θα τα χρησιμοποιήσει κατά τον υπολογισμό του χρόνου που χρειάζεται να περιμένει μέχρι να χτυπήσει ο συναγερμός. Μπορείς να χρησιμοποιήσεις Η ενότητα χρόνου της Python να καθυστερήσει την εκτέλεση, μεταξύ άλλων ενεργειών.
εισαγωγή ημερομηνία ώρα
εισαγωγή χρόνος - Προσθέστε ένα βρόχο while. Μέσα στον βρόχο while, ζητήστε από τον χρήστη να εισαγάγει μια έγκυρη ώρα αφύπνισης, στη μορφή [ώρα: λεπτό]. Ο βρόχος while θα επαναληφθεί εάν ο χρήστης εισαγάγει έναν μη έγκυρο αριθμό.
άκυρο = Αληθής
ενώ(Μη έγκυρο):
# Λάβετε μια έγκυρη είσοδο χρήστη για την ώρα αφύπνισης
Τυπώνω("Σειρά ένα έγκυρο χρόνοςΓια ο συναγερμός (π.χ. 06:30)")
userInput = input(">>") - Μέσα στον βρόχο while, μετατρέψτε την είσοδο του χρήστη σε έναν πίνακα που διαχωρίζει την τιμή της ώρας από την τιμή των λεπτών.
# Για παράδειγμα, αυτό θα μετατρέψει το 6:30 σε έναν πίνακα [6, 30].
alarmTime = [int (n) για n στο userInput.split(":")] - Ακόμα μέσα στον βρόχο while, επικυρώστε τις τιμές ώρας και λεπτών. Η ώρα πρέπει να είναι ένας αριθμός μεταξύ 0 και 23 και το λεπτό πρέπει να είναι αριθμός μεταξύ 0 και 59. Εάν δεν πληρούνται αυτές οι προϋποθέσεις, το μη έγκυρο boolean θα προκαλέσει την επανάληψη του βρόχου while και θα ζητήσει από τον χρήστη να εισαγάγει μια νέα τιμή.
# Επικυρώστε τον χρόνο που καταχωρίσατε να είναι μεταξύ 0 και 24 (ώρες) ή 0 και 60 (λεπτά)
αν Ώρα συναγερμού[0] >= 24 ή Ώρα συναγερμού[0] < 0:
άκυρο = Αληθής
Ώρα συναγερμού elif[1] >= 60 ή Ώρα συναγερμού[1] < 0:
άκυρο = Αληθής
αλλού:
άκυρο = Ψευδής
Πώς να μετρήσετε πόσο καιρό θα περιμένετε μέχρι να σβήσει ο συναγερμός
Περιμένετε μέχρι να χτυπήσει το ξυπνητήρι μετρώντας πόσα δευτερόλεπτα θα πρέπει να περιμένει το πρόγραμμα.
- Κάτω από τον βρόχο while, μετατρέψτε την ώρα αφύπνισης στη δεύτερη κατά τη διάρκεια της ημέρας. Για αναφορά, υπάρχουν 86400 δευτερόλεπτα σε μια ημέρα. Εάν ο χρήστης πληκτρολογήσει 00:01 (ένα λεπτό μετά τα μεσάνυχτα), η ώρα αφύπνισης σε δευτερόλεπτα θα είναι 60. Εάν ο χρήστης πληκτρολογήσει 23:59, η ώρα αφύπνισης σε δευτερόλεπτα θα είναι 86340.
# Αριθμός δευτερολέπτων σε μια ώρα, λεπτό και δευτερόλεπτο
seconds_hms = [3600, 60, 1]
# Μετατρέψτε την ώρα αφύπνισης σε δευτερόλεπτα
alarmSeconds = άθροισμα ([a*b για a, b σε zip (seconds_hms[:len (alarmTime)], alarmTime)]) - Χρησιμοποιήστε τη συνάρτηση datetime.now() για να προσδιορίσετε την τρέχουσα ώρα. Μετατρέψτε την τρέχουσα ώρα της ημέρας σε δευτερόλεπτα.
now = datetime.datetime.now()
currentTimeInSeconds = άθροισμα ([a*b για a, b σε zip (seconds_hms, [now.hour, now.minute, now.second])]) - Υπολογίστε τον αριθμό των δευτερολέπτων μέχρι να χτυπήσει το ξυπνητήρι.
secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
- Εάν η διαφορετική ώρα είναι αρνητική, αυτό σημαίνει ότι το ξυπνητήρι πρέπει να ρυθμιστεί για την επόμενη μέρα.
αν δευτερόλεπτα Μέχρι Ξυπνητήρι < 0:
δευτερόλεπτα Μέχρι Ξυπνητήρι += 86400# αριθμός δευτερολέπτων σε μια ημέρα - Εμφανίστε ένα μήνυμα στον χρήστη για να τον ενημερώσετε ότι το ξυπνητήρι έχει ρυθμιστεί με επιτυχία.
print("Συναγερμός είναι σειρά!")
Τυπώνω("Το ξυπνητήρι θα χτυπήσει στο %s" % datetime.timedelta (seconds=secondsUntilAlarm))
Πώς να χτυπήσετε τον συναγερμό
Για να χτυπήσει το ξυπνητήρι, περιμένετε τα υπόλοιπα δευτερόλεπτα πριν εκτυπώσετε ένα "Wake up!" μήνυμα στον χρήστη.
- Χρησιμοποιήστε το time.sleep για να περιμένετε τα δευτερόλεπτα που απαιτούνται μέχρι να χτυπήσει το ξυπνητήρι.
χρόνος.ύπνος(δευτερόλεπτα Μέχρι το Ξυπνητήρι)
- Εμφανίστε το μήνυμα "Wake up" στον χρήστη όταν χτυπήσει το ξυπνητήρι.
Τυπώνω("Ντριν ντριν... ώρα να ξυπνήσεις!")
Πώς να προσθέσετε αντίστροφη μέτρηση πριν χτυπήσει ο συναγερμός
Για να προσθέσετε αντίστροφη μέτρηση για κάθε δευτερόλεπτο, χρησιμοποιήστε έναν βρόχο για να εκτυπώσετε τα δευτερόλεπτα που απομένουν στον χρήστη.
- Αντικαταστήστε τη γραμμή ώρας ύπνου. Προσθέστε έναν βρόχο for για κάθε δευτερόλεπτο μέχρι να χτυπήσει το ξυπνητήρι και εμφανίστε τα δευτερόλεπτα που απομένουν στον χρήστη.
για i στην περιοχή (0, δευτερόλεπτα Μέχρι Ξυπνητήρι):
χρόνος.ύπνος(1)
δευτερόλεπτα Μέχρι Ξυπνητήρι -= 1
Τυπώνω(datetime.timedelta (seconds=secondsUntilAlarm))
Πώς να εκτελέσετε το πρόγραμμα Ξυπνητήρι
Εκτελέστε το σενάριο μεταβαίνοντας στο αρχείο χρησιμοποιώντας τη γραμμή εντολών. Χρησιμοποιήστε την εντολή python για να ξεκινήσετε το σενάριο και ορίστε μια ώρα αφύπνισης.
- Ανοίξτε μια γραμμή εντολών ή ένα τερματικό. Μεταβείτε στη θέση του αρχείου alarm.py. Για παράδειγμα, εάν έχετε αποθηκεύσει το αρχείο Python στην επιφάνεια εργασίας, χρησιμοποιήστε το cd Desktop.
CD Επιφάνεια εργασίας
- Χρησιμοποιήστε την εντολή python για να εκτελέσετε το σενάριο Python.
Πύθωντρομάζω.py
- Ορίστε μια έγκυρη ώρα για το ξυπνητήρι, σε μορφή [ώρα: λεπτό]. Για παράδειγμα, 4:30.
- Το ξυπνητήρι θα ρυθμιστεί και θα ξεκινήσει μια αντίστροφη μέτρηση για κάθε δευτερόλεπτο έως ότου πρέπει να χτυπήσει το ξυπνητήρι. Περιμένετε μέχρι το ξυπνητήρι να τελειώσει η αντίστροφη μέτρηση.
- Μόλις το πρόγραμμα ολοκληρώσει την αντίστροφη μέτρηση, το πρόγραμμα θα εμφανίσει ένα μήνυμα που θα σας δείξει ότι χτυπάει ο συναγερμός.
Δημιουργήστε απλά προγράμματα χρησιμοποιώντας Python
Ένα ξυπνητήρι είναι μια καλή άσκηση που μπορείτε να εξασκήσετε για να βελτιώσετε τις δεξιότητές σας στο Python. Μπορείτε να γράψετε την εφαρμογή ξυπνητήρι σε ένα μόνο αρχείο σεναρίου και να την εκτελέσετε χρησιμοποιώντας μια γραμμή εντολών. Κατά το χρόνο εκτέλεσης, το πρόγραμμα θα ζητήσει από τον χρήστη να εισάγει μια έγκυρη ώρα για να ρυθμίσει το ξυπνητήρι.
Μόλις ρυθμιστεί το ξυπνητήρι, υπολογίστε πόσα δευτερόλεπτα θα χρειαστεί να περιμένετε μέχρι να σβήσει το ξυπνητήρι. Κάντε το πρόγραμμα να περιμένει τόσο πολύ πριν εμφανιστεί ένα μήνυμα στον χρήστη όταν χτυπήσει ο συναγερμός.
Μπορείτε επίσης να δημιουργήσετε ξανά αυτήν την άσκηση συναγερμού σε άλλες γλώσσες. Μπορείτε να μάθετε πώς να δημιουργείτε ένα ψηφιακό ρολόι χρησιμοποιώντας HTML, CSS και JavaScript.