ವಿಷಯಕ್ಕೆ ತೆರಳಿ

ಪ್ರಾಜೆಕ್ಟ್ 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()

ವಿವರಣೆ

  1. import datetime, time: ಸಮಯ ಮತ್ತು ದಿನಾಂಕದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಈ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ.
  2. 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 ಸೆಕೆಂಡುಗಳ ಕಾಲ ನಿಲ್ಲಿಸುತ್ತದೆ.
  3. main() ಫಂಕ್ಷನ್: ಬಳಕೆದಾರರಿಂದ ಅಲಾರಾಂ ಸಮಯವನ್ನು HH:MM ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಪಡೆಯುತ್ತದೆ ಮತ್ತು set_alarm ಫಂಕ್ಷನ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತದೆ.
  4. ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್: ಬಳಕೆದಾರರು ತಪ್ಪಾದ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಸಮಯವನ್ನು ನಮೂದಿಸಿದರೆ (ಉದಾ: "8:30" ��ದಲು "8-30"), strptime ಫಂಕ್ಷನ್ ValueError ಅನ್ನು ರೈಸ್ ಮಾಡುತ್ತದೆ. ಇದನ್ನು try-except ಬ್ಲಾಕ್ ಬಳಸಿ ಹ್ಯಾಂಡಲ್ ಮಾಡಲಾಗುತ್ತದೆ.