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

ಪ್ರಾಜೆಕ್ಟ್ 2: ಸಂಖ್ಯೆ ಊಹಿಸುವ ಆಟ (Number Guessing Game)

ಈ ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ, ನಾವು ಒಂದು ಸರಳ ಆಟವನ್ನು ನಿರ್ಮಿಸುತ್ತೇವೆ. ಇದರಲ್ಲಿ ಕಂಪ್ಯೂಟರ್ 1 ರಿಂದ 100 ರ ನಡುವೆ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ (randomly) ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಬಳಕೆದಾರರು ಆ ಸಂಖ್ಯೆಯನ್ನು ಊಹಿಸಬೇಕು. ಪ್ರತಿ ಊಹೆಯ ನಂತರ, ಕಂಪ್ಯೂಟರ್ "ತುಂಬಾ ಹೆಚ್ಚು" (Too high) ಅಥವಾ "ತುಂಬಾ ಕಡಿಮೆ" (Too low) ಎಂಬ ಸುಳಿವುಗಳನ್ನು ನೀಡುತ್ತದೆ.

ಕಲಿಕೆಯ ಪರಿಕಲ್ಪನೆಗಳು

  • random ಮಾಡ್ಯೂಲ್ ಬಳಕೆ (ವಿಶೇಷವಾಗಿ random.randint())
  • while ಲೂಪ್
  • ಬಳಕೆದಾರರಿಂದ ಇನ್‌ಪುಟ್ ಪಡೆಯುವುದು (input())
  • ಸ್ಟ್ರಿಂಗ್‌ನಿಂದ ಇಂಟಿಜರ್‌ಗೆ ಟೈಪ್ ಪರಿವರ್ತನೆ (int())
  • if-elif-else ಕಂಡೀಶನಲ್‌ಗಳು

ಕೋಡ್

import random


def guessing_game():
    """ಕಂಪ್ಯೂಟರ್ ಆಯ್ಕೆ ಮಾಡಿದ ಸಂಖ್ಯೆಯನ್ನು ಊಹಿಸುವ ಆಟ."""

    # 1 ರಿಂದ 100 ರ ನಡುವೆ ಒಂದು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು
    secret_number = random.randint(1, 100)

    guess = 0
    attempts = 0

    print("ನಾನು 1 ರಿಂದ 100 ರ ನಡುವೆ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಯೋಚಿಸಿದ್ದೇನೆ.")
    print("ನೀವು ಅದನ್ನು ಊಹಿಸಬಲ್ಲಿರಾ?")

    # ಬಳಕೆದಾರರು ಸರಿಯಾದ ಸಂಖ್ಯೆಯನ್ನು ಊಹಿಸುವವರೆಗೆ ಲೂಪ್ ಚಾಲನೆಯಲ್ಲಿರುತ್ತದೆ
    while guess != secret_number:
        try:
            # ಬಳಕೆದಾರರಿಂದ ಊಹೆಯನ್ನು ಪಡೆಯುವುದು
            guess_str = input("ನಿಮ್ಮ ಊಹೆಯನ್ನು ನಮೂದಿಸಿ: ")
            guess = int(guess_str)
            attempts += 1

            # ಊಹೆಯನ್ನು ರಹಸ್ಯ ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಹೋಲಿಸುವುದು
            if guess < secret_number:
                print("ತುಂಬಾ ಕಡಿಮೆ! (Too low!)")
            elif guess > secret_number:
                print("ತುಂಬಾ ಹೆಚ್ಚು! (Too high!)")
            else:
                print(f"ಅಭಿನಂದನೆಗಳು! ನೀವು ಸರಿಯಾಗಿ ಊಹಿಸಿದ್ದೀರಿ!")
                print(f"ನೀವು {attempts} ಪ್ರಯತ್ನಗಳಲ್ಲಿ ಸಂಖ್ಯೆಯನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೀರಿ.")

        except ValueError:
            print("ತಪ್ಪಾದ ಇನ್‌ಪುಟ್. ದಯವಿಟ್ಟು ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಮಾತ್ರ ನಮೂದಿಸಿ.")


if __name__ == "__main__":
    guessing_game()

ವಿವರಣೆ

  1. import random: ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಪೈಥಾನ್‌ನ random ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನಾವು ಇಂಪೋರ್ಟ್ ಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ.
  2. random.randint(1, 100): ಈ ಫಂಕ್ಷನ್ 1 ಮತ್ತು 100 ರ ನಡುವೆ (ಎರಡೂ ಸೇರಿ) ಒಂದು ಯಾದೃಚ್ಛಿಕ ಪೂರ್ಣ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ. ಇದೇ ನಮ್ಮ "ರಹಸ್ಯ ಸಂಖ್ಯೆ".
  3. while guess != secret_number:while ಲೂಪ್ ಬಳಕೆದಾರರ ಊಹೆಯು ರಹಸ್ಯ ಸಂಖ್ಯೆಗೆ ಸಮನಾಗುವವರೆಗೆ ಚಾಲನೆಯಲ್ಲಿರುತ್ತದೆ.
  4. ಇನ್‌ಪುಟ್ ಮತ್ತು ಟೈಪ್ ಪರಿವರ್ತನೆ: input() ಬಳಸಿ ಬಳಕೆದಾರರ ಊಹೆಯನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪಡೆಯುತ್ತೇವೆ. ನಂತರ int() ಬಳಸಿ ಅದನ್ನು ಪೂರ್ಣ ಸಂಖ್ಯೆಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತೇವೆ.
  5. try-except ಬ್ಲಾಕ್: ಬಳಕೆದಾರರು ಸಂಖ್ಯೆಯ ಬದಲು ಅಕ್ಷರಗಳನ್ನು ನಮೂದಿಸಿದರೆ, int() ಫಂಕ್ಷನ್ ValueError ಅನ್ನು ರೈಸ್ ಮಾಡುತ್ತದೆ. ನಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಕ್ರ್ಯಾಶ್ ಆಗದಂತೆ ತಡೆಯಲು ನಾವು ಇದನ್ನು try-except ಬ್ಲಾಕ್‌ನಲ್ಲಿ ಹ್ಯಾಂಡಲ್ ಮಾಡುತ್ತೇವೆ.
  6. if-elif-else: ಈ ಬ್ಲಾಕ್ ಬಳಕೆದಾರರ ಊಹೆಯನ್ನು ರಹಸ್ಯ ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ.
    • ಊಹೆಯು ಕಡಿಮೆಯಿದ್ದರೆ, "ತುಂಬಾ ಕಡಿಮೆ" ಎಂದು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ.
    • ಊಹೆಯು ಹೆಚ್ಚಾಗಿದ್ದರೆ, "ತುಂಬಾ ಹೆಚ್ಚು" ಎಂದು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ.
    • ಊಹೆಯು ಸರಿಯಾಗಿದ್ದರೆ, ಅಭಿನಂದನಾ ಸಂದೇಶವನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಿ, ಲೂಪ್ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.
  7. attempts ವೇರಿಯೇಬಲ್: ಬಳಕೆದಾರರು ಎಷ್ಟು ಪ್ರಯತ್ನಗಳಲ್ಲಿ ಸಂಖ್ಯೆಯನ್ನು ಕಂಡುಕೊಂಡರು ಎಂಬುದನ್ನು ಎಣಿಸಲು ಈ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.