ಪ್ರಾಜೆಕ್ಟ್ 12: ಸರಳ ಅಲಾರಾಂ ಗಡಿಯಾರ (Simple Alarm Clock)
ಈ ಪ್ರಾಜೆಕ್ಟ್ನಲ್ಲಿ, ನಾವು ಒಂದು ಸರಳ ಕಮಾಂಡ್-ಲೈನ್ ಅಲಾರಾಂ ಗಡಿಯಾರವನ್ನು ನಿರ್ಮಿಸುತ್ತೇವೆ. ಬಳಕೆದಾರರು ಅಲಾರಾಂ ಸಮಯವನ್ನು (ಗಂಟೆ ಮತ್ತು ನಿಮಿಷ) ನಮೂದಿಸುತ್ತಾರೆ, ಮತ್ತು ಆ ನಿಗದಿತ ಸಮಯದಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಒಂದು ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.
ಕಲಿಕೆಯ ಪರಿಕಲ್ಪನೆಗಳು
datetimeಮಾಡ್ಯೂಲ್ - ಪ್ರಸ್ತುತ ಸಮಯವನ್ನು ಪಡೆಯ��ು ಮತ್ತು ಸಮಯದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು.timeಮಾಡ್ಯೂಲ್ -time.sleep()ಬಳಸಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪಾಸ್ ಮಾಡಲು.whileಲೂಪ್.- ಬಳಕೆದಾರರಿಂದ ಇನ್ಪುಟ್ ಪಡೆಯುವುದು ಮತ್ತು ಅದನ್ನು ಮೌಲ್ಯೀಕರಿಸುವುದು.
ಕೋಡ್
import datetime
import time
def set_alarm(alarm_time_str):
"""
ಬಳಕೆದಾರರು ನೀಡಿದ ಅಲಾರಾಂ ಸಮಯವನ್ನು ಮೌಲ್ಯೀ��ರಿಸಿ, ಅಲಾರಾಂ ಅನ್ನು ಸೆಟ್ ಮಾಡುತ್ತದೆ.
"""
try:
# ಅಲಾರಾಂ ಸಮಯವನ್ನು datetime ಆಬ್ಜೆಕ್ಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುವುದು
alarm_time = datetime.datetime.strptime(alarm_time_str, "%H:%M")
print(f"ಅಲಾರಾಂ ಅನ್ನು {alarm_time.strftime('%H:%M')} ಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆ.")
while True:
# ಪ್ರಸ್ತುತ ಸಮಯವನ್ನು ಪಡೆಯುವುದು
now = datetime.datetime.now()
# ಪ್ರಸ್ತುತ ಸಮಯವು ಅಲಾರಾಂ ಸಮಯಕ್ಕೆ ಸಮನಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುವುದು
if now.hour == alarm_time.hour and now.minute == alarm_time.minute:
print("\nಅಲಾರಾಂ! ಎದ್ದೇಳಿ! (Wake up!)")
# ಇಲ್ಲಿ ನೀವು ಸೌಂಡ್ ಪ್ಲೇ ಮಾಡಲು ಕೋಡ್ ಸೇರಿಸಬಹುದು
# ಉದಾಹರಣೆಗೆ, ವಿಂಡೋಸ್ನಲ್ಲಿ: import winsound; winsound.Beep(1000, 2000)
break
# ಪ್ರತಿ 10 ಸೆಕೆಂಡಿಗೆ ಒಮ್ಮೆ ಸಮಯವನ್ನು ಪರಿಶೀಲಿಸುವುದು
print(f"ಪ್ರಸ್ತುತ ಸಮಯ: {now.strftime('%H:%M:%S')}", end='\r')
time.sleep(10)
except ValueError:
print("ತಪ್ಪಾದ ಸಮಯದ ಫಾರ್ಮ್ಯಾಟ್. ದಯವಿಟ್ಟು HH:MM ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ನಮೂದಿಸಿ (ಉದಾ: 08:30).")
def main():
"""ಮುಖ್ಯ ಫಂಕ್ಷನ್."""
print("ಸರಳ ಅಲಾರಾಂ ಗಡಿಯಾರಕ್ಕೆ ಸ್ವಾಗತ!")
alarm_input = input("ಅಲಾರಾಂ ಸಮಯವನ್ನು HH:MM ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ನಮೂದಿಸಿ (ಉದಾ: 14:45): ")
set_alarm(alarm_input)
if __name__ == "__main__":
main()
ವಿವರಣೆ
import datetime, time: ಸಮಯ ಮತ್ತು ದಿನಾಂಕದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಈ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ.set_alarm(alarm_time_str)ಫಂಕ್ಷನ್:datetime.datetime.strptime(alarm_time_str, "%H:%M"):strptime(string parse time) ಫಂಕ್ಷನ್, ಬಳಕೆದಾರರು ನೀಡಿದ ಸ್ಟ್ರಿಂಗ್ (alarm_time_str) ಅನ್ನುdatetimeಆಬ್ಜೆಕ್ಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ."%H:%M"ಫಾರ್ಮ್ಯಾಟ್ ಕೋಡ್, ಸ್ಟ್ರಿಂಗ್ಗಂಟೆ:ನಿಮಿಷ(24-ಗಂಟೆಗಳ ಫಾರ್ಮ್ಯಾಟ್) ರೂಪದಲ್ಲಿದೆ ಎಂದು ಪೈಥಾನ್ಗೆ ತಿಳಿಸುತ್ತದೆ.
while Trueಲೂಪ್: ಈ ಲೂಪ್ ನಿರಂತರವಾಗಿ ಚಾಲನೆಯಲ್ಲಿರುತ್ತದೆ ಮತ್ತು ಪ್ರಸ್ತುತ ಸಮಯವನ್ನು ಅಲಾರಾಂ ಸಮಯದೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ.datetime.datetime.now(): ಪ್ರಸ್ತುತ ಸಿಸ್ಟಮ್ ಸಮಯವನ್ನುdatetimeಆಬ್ಜೆಕ್ಟ್ ಆಗಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ.if now.hour == alarm_time.hour and now.minute == alarm_time.minute:: ಪ್ರಸ್ತುತ ಗಂಟೆ ಮತ್ತು ನಿಮಿಷವು ಅಲಾರಾಂನ ಗಂಟೆ ಮತ್ತು ನಿಮಿಷಕ್ಕೆ ಸಮನಾಗಿದೆಯ�� ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ.- ಷರತ್ತು ನಿಜವಾದಾಗ, ಅದು "Wake up!" ಸಂದೇಶವನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಿ,
breakಸ್ಟೇಟ್ಮೆಂಟ್ ಮೂಲಕ ಲೂಪ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ. time.sleep(10): ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಅನಗತ್ಯವಾಗಿ ಬಳಸುವುದನ್ನು ತಪ್ಪಿಸಲು, ನಾವು ಪ್ರತಿ 10 ಸೆಕೆಂಡಿಗೆ ಒಮ್ಮೆ ಮಾತ್ರ ಸಮಯವನ್ನು ಪರಿಶೀಲಿಸುತ್ತೇವೆ.time.sleep(10)ಪ್ರೋಗ್ರಾಂ ಅನ್ನು 10 ಸೆಕೆಂಡುಗಳ ಕಾಲ ನಿಲ್ಲಿಸುತ್ತದೆ.
main()ಫಂಕ್ಷನ್: ಬಳಕೆದಾರರಿಂದ ಅಲಾರಾಂ ಸಮಯವನ್ನು HH:MM ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ಪಡೆಯುತ್ತದೆ ಮತ್ತುset_alarmಫಂಕ್ಷನ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತದೆ.- ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್: ಬಳಕೆದಾರರು ತಪ್ಪಾದ ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ಸಮಯವನ್ನು ನಮೂದಿಸಿದರೆ (ಉದಾ: "8:30" ��ದಲು "8-30"),
strptimeಫಂಕ್ಷನ್ValueErrorಅನ್ನು ರೈಸ್ ಮಾಡುತ್ತದೆ. ಇದನ್ನುtry-exceptಬ್ಲಾಕ್ ಬಳಸಿ ಹ್ಯಾಂಡಲ್ ಮಾಡಲಾಗುತ್ತದೆ.