ಪೈಥಾನ್ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟದಲ್ಲಿ ನಿಖರವಾದ ಬಳಕೆದಾರ ಇನ್ಪುಟ್ ಅನ್ನು ಹೇಗೆ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು
ನೀವು ಎಂದಾದರೂ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಅನ್ನು ಆಡಿದ್ದೀರಾ ಮತ್ತು ಆಟದ ಹಿಂದಿನ ತರ್ಕವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಯೋಚಿಸಿದ್ದೀರಾ? 🕹️ ಪೈಥಾನ್ನಲ್ಲಿ, ಬಳಕೆದಾರರು ಅಕ್ಷರಗಳನ್ನು ಸರಿಯಾಗಿ ಊಹಿಸುವ ತಡೆರಹಿತ ಅನುಭವವನ್ನು ರಚಿಸುವುದು ಸ್ವಲ್ಪ ಟ್ರಿಕಿ ಆಗಿರಬಹುದು, ವಿಶೇಷವಾಗಿ ಮಾನ್ಯವಾದ ಇನ್ಪುಟ್ಗಳನ್ನು ಖಾತ್ರಿಪಡಿಸುವಾಗ. ಈ ಲೇಖನವು ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಡುವಾಗ ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ವಿಶ್ವಾಸಾರ್ಹ ಲೂಪ್ ಅನ್ನು ರಚಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ.
ನೆಸ್ಟೆಡ್ ಲೂಪ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಮತ್ತು ಸುಗಮ ಕಾರ್ಯವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಅನೇಕ ಡೆವಲಪರ್ಗಳು ಎದುರಿಸುತ್ತಿರುವ ಸವಾಲುಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ವರ್ಣಮಾಲೆಯಲ್ಲದ ಅಕ್ಷರಗಳು ಅಥವಾ ಖಾಲಿ ಊಹೆಗಳಂತಹ ಇನ್ಪುಟ್ಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಂಕೀರ್ಣಗೊಳಿಸಬಹುದು. ನಾವು ಈ ಸಮಸ್ಯೆಯನ್ನು ಹಂತ ಹಂತವಾಗಿ ನಿಭಾಯಿಸುತ್ತೇವೆ.
ವಿಷಯಗಳನ್ನು ಇನ್ನಷ್ಟು ತೊಡಗಿಸಿಕೊಳ್ಳಲು, ಇನ್ಪುಟ್ ಊರ್ಜಿತಗೊಳಿಸುವಿಕೆಗಾಗಿ `ಸರಿಯಾಗಿಯೇ` ಲೂಪ್ ಅನ್ನು ಹೇಗೆ ಇಟ್ಟುಕೊಳ್ಳುವುದು ಎಂಬುದರ ಕುರಿತು ಈ ಮಾರ್ಗದರ್ಶಿ ನಿಮಗೆ ತಿಳಿಸುತ್ತದೆ. ತಾಂತ್ರಿಕ ದೋಷಗಳು ಅಥವಾ ದೋಷಗಳಿಂದ ಆಟಗಾರರನ್ನು ಮುಳುಗಿಸದೆ ಆಟವು ಅರ್ಥಗರ್ಭಿತವಾಗಿ ಉಳಿಯುತ್ತದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಸರಳ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ತಂತ್ರಗಳು ನಿಮ್ಮ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟವನ್ನು ಹೊಳೆಯುವಂತೆ ಮಾಡುತ್ತದೆ.
ಈ ಟ್ಯುಟೋರಿಯಲ್ನ ಅಂತ್ಯದ ವೇಳೆಗೆ, ಇನ್ಪುಟ್ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪರಿಶೀಲಿಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿರಿ ಆದರೆ ಇದೇ ರೀತಿಯ ಯೋಜನೆಗಳಿಗೆ ಈ ತತ್ವಗಳನ್ನು ಹೇಗೆ ಅನ್ವಯಿಸಬಹುದು ಎಂಬುದನ್ನು ಸಹ ನೋಡುತ್ತೀರಿ. ನೀವು ವಿನೋದಕ್ಕಾಗಿ ಅಥವಾ ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಆಟವನ್ನು ರಚಿಸುತ್ತಿರಲಿ, ಸಹಾಯ ಮಾಡಲು ಈ ಮಾರ್ಗದರ್ಶಿ ಇಲ್ಲಿದೆ. ಪ್ರಾರಂಭಿಸೋಣ! 🚀
ಆಜ್ಞೆ | ಬಳಕೆಯ ಉದಾಹರಣೆ |
---|---|
isalpha() | ಸ್ಟ್ರಿಂಗ್ ಕೇವಲ ವರ್ಣಮಾಲೆಯ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, vocab.isalpha(): ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ ಸಂಖ್ಯೆಗಳು ಅಥವಾ ವಿಶೇಷ ಅಕ್ಷರಗಳಿಲ್ಲದ ಮಾನ್ಯವಾದ ಪದವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. |
strip() | ಸ್ಟ್ರಿಂಗ್ನಿಂದ ಪ್ರಮುಖ ಮತ್ತು ಹಿಂದುಳಿದ ವೈಟ್ಸ್ಪೇಸ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, vocab = input("ಒಂದು ಪದವನ್ನು ನಮೂದಿಸಿ: ").strip() ಆಕಸ್ಮಿಕ ಸ್ಥಳಗಳಿಲ್ಲದೆ ಕ್ಲೀನ್ ಇನ್ಪುಟ್ ಅನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. |
upper() | ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ದೊಡ್ಡಕ್ಷರಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಆಟದಲ್ಲಿ, ಅಪ್ಪರ್ಕೇಸ್_ವೊಕಾಬ್ = vocab.upper() ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಮ್ಯಾಚಿಂಗ್ಗಾಗಿ ಇನ್ಪುಟ್ ಅನ್ನು ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ. |
set() | ಅನನ್ಯ ಅಂಶಗಳ ಸಂಗ್ರಹವನ್ನು ರಚಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, self.guessed = set() ಊಹೆ ಮಾಡಿದ ಅಕ್ಷರಗಳನ್ನು ನಕಲುಗಳಿಲ್ಲದೆ ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತದೆ. |
enumerate() | ಸೂಚ್ಯಂಕದೊಂದಿಗೆ ಲೂಪ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, i ಗಾಗಿ, ಎಣಿಕೆಯಲ್ಲಿನ ಅಕ್ಷರ(self.word): ಪದದ ಸೂಚ್ಯಂಕ ಮತ್ತು ಅಕ್ಷರ ಎರಡನ್ನೂ ಪ್ರವೇಶಿಸಲು ಪ್ರೋಗ್ರಾಂಗೆ ಅನುಮತಿಸುತ್ತದೆ. |
join() | ಸ್ಟ್ರಿಂಗ್ಗಳ ಪಟ್ಟಿಯನ್ನು ಒಂದೇ ಸ್ಟ್ರಿಂಗ್ಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪ್ರಿಂಟ್(" ".ಜೊತೆ(ಪ್ರದರ್ಶನ)) ಅಕ್ಷರಗಳ ನಡುವಿನ ಅಂತರಗಳೊಂದಿಗೆ ಊಹಿಸಿದ ಪದವನ್ನು ತೋರಿಸುವ ಮೂಲಕ ಆಟದ ಔಟ್ಪುಟ್ ಅನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುತ್ತದೆ. |
unittest.TestCase | ಘಟಕ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸುವ ಚೌಕಟ್ಟು. ಉದಾಹರಣೆಗೆ, ವರ್ಗ TestHangman(unittest.TestCase): ನಿರ್ದಿಷ್ಟ ಆಟದ ಕಾರ್ಯವನ್ನು ಪರೀಕ್ಷಿಸಲು ರಚನೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ. |
continue | ಲೂಪ್ನ ಪ್ರಸ್ತುತ ಪುನರಾವರ್ತನೆಯನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, self.is_valid_guess (ಊಹೆ) ಇಲ್ಲದಿದ್ದರೆ, ಲೂಪ್ ಅಮಾನ್ಯವಾದ ಇನ್ಪುಟ್ನೊಂದಿಗೆ ಮುಂದುವರಿಯುವುದಿಲ್ಲ ಎಂದು ಮುಂದುವರಿಸುತ್ತದೆ |
break | ಪ್ರಸ್ತುತ ಲೂಪ್ ಅನ್ನು ತಕ್ಷಣವೇ ನಿರ್ಗಮಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, vocab.isalpha(): ಬ್ರೇಕ್ ಮಾನ್ಯವಾದ ಇನ್ಪುಟ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ ಲೂಪ್ ಅನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. |
not in | ಅನುಕ್ರಮದಲ್ಲಿ ಒಂದು ಅಂಶದ ಅನುಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, "_" ಪ್ರದರ್ಶನದಲ್ಲಿಲ್ಲದಿದ್ದರೆ: ಆಟಗಾರನು ಎಲ್ಲಾ ಅಕ್ಷರಗಳನ್ನು ಊಹಿಸಿದ್ದಾನೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. |
ಪೈಥಾನ್ನಲ್ಲಿ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟದ ಆಂತರಿಕ ಕಾರ್ಯಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟಕ್ಕಾಗಿ ನಾವು ನಿರ್ಮಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಆಟಗಾರರಿಗೆ ಸಂವಾದಾತ್ಮಕ ಮತ್ತು ದೋಷ-ನಿರೋಧಕ ಅನುಭವವನ್ನು ಸೃಷ್ಟಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿವೆ. ಈ ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಮಧ್ಯಭಾಗದಲ್ಲಿ a ನ ಬಳಕೆಯಾಗಿದೆ ಆದರೆ ನಿಜ ಲೂಪ್, ಇದು ಮಾನ್ಯವಾದ ಇನ್ಪುಟ್ ಒದಗಿಸುವವರೆಗೆ ನಿರಂತರ ಪ್ರೇರಣೆಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪದವನ್ನು ನಮೂದಿಸಲು ಬಳಕೆದಾರರನ್ನು ಕೇಳಿದಾಗ, ಲೂಪ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಇನ್ಪುಟ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ ಇಸಲ್ಫಾ() ವಿಧಾನ. ಇದು ಆಟದ ತರ್ಕವನ್ನು ಮುರಿಯುವುದರಿಂದ ಸಂಖ್ಯೆಗಳು ಅಥವಾ ವಿರಾಮಚಿಹ್ನೆಯಂತಹ ಅಮಾನ್ಯ ಅಕ್ಷರಗಳನ್ನು ತಡೆಯುತ್ತದೆ. ಆಟಗಾರನು ಆಕಸ್ಮಿಕವಾಗಿ "ಹಲೋ" ಬದಲಿಗೆ "hello123" ಎಂದು ಟೈಪ್ ಮಾಡುವುದನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ-ಈ ಮೌಲ್ಯೀಕರಣವು ಅಂತಹ ಪ್ರಕರಣಗಳನ್ನು ಆಕರ್ಷಕವಾಗಿ ನಿಭಾಯಿಸುತ್ತದೆ ಮತ್ತು ಮಾನ್ಯವಾದ ಪದವನ್ನು ಮರು-ನಮೂದಿಸಲು ಬಳಕೆದಾರರನ್ನು ಪ್ರೇರೇಪಿಸುತ್ತದೆ. 📝
ಇನ್ನೊಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಇನ್ಪುಟ್ಗಳನ್ನು ದೊಡ್ಡಕ್ಷರಕ್ಕೆ ಪರಿವರ್ತಿಸುವುದು ಮೇಲಿನ () ವಿಧಾನ. ಇದು ಆಟವನ್ನು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪದವು "ಪೈಥಾನ್" ಆಗಿದ್ದರೆ ಮತ್ತು ಆಟಗಾರನು "p" ಎಂದು ಊಹಿಸಿದರೆ, ಪ್ರೋಗ್ರಾಂ ಅಕ್ಷರದ ಪ್ರಕರಣವನ್ನು ಲೆಕ್ಕಿಸದೆಯೇ ಊಹೆಗೆ ಸರಿಯಾಗಿ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಸ್ಕ್ರಿಪ್ಟ್ ಆಟದ ಪ್ರದರ್ಶನ ಸ್ಥಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಪಟ್ಟಿಯನ್ನು ಬಳಸುತ್ತದೆ, ಊಹಿಸದ ಅಕ್ಷರಗಳಿಗೆ ಅಂಡರ್ಸ್ಕೋರ್ಗಳಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ. ಈ ಅಂಡರ್ಸ್ಕೋರ್ಗಳನ್ನು ಸರಿಯಾಗಿ ಊಹಿಸಿದ ಅಕ್ಷರಗಳಿಂದ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ, ಆಟಗಾರನಿಗೆ ಅವರ ಪ್ರಗತಿಯ ಬಗ್ಗೆ ದೃಶ್ಯ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಒಂದು ಸಮಯದಲ್ಲಿ ಒಂದು ಒಗಟನ್ನು ಪರಿಹರಿಸುವಂತಿದೆ, ಇದು ಆಟದ ಉತ್ಸಾಹವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ! 🎯
ಪ್ರದರ್ಶನವನ್ನು ನವೀಕರಿಸುವಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿರುವ ಫಾರ್-ಲೂಪ್ ಪ್ರಮುಖ ಪಾತ್ರವನ್ನು ವಹಿಸುತ್ತದೆ. ಪೂರ್ವನಿಗದಿಪಡಿಸಿದ ಪದದ ಅಕ್ಷರಗಳ ಮೂಲಕ ಇದು ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ, ಊಹಿಸಿದ ಅಕ್ಷರವು ಅವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಹೊಂದಾಣಿಕೆ ಕಂಡುಬಂದಾಗ, ಅನುಗುಣವಾದ ಅಂಡರ್ಸ್ಕೋರ್ ಅನ್ನು ಅಕ್ಷರದೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಸರಿಯಾದ ಊಹೆಯೊಂದಿಗೆ ಆಟವು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ನವೀಕರಿಸುತ್ತದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪದವು "PYTHON" ಆಗಿದ್ದರೆ ಮತ್ತು ಆಟಗಾರನು "P" ಎಂದು ಊಹಿಸಿದರೆ, ಪ್ರದರ್ಶನವು "_ _ _ _ _ _" ನಿಂದ "P _ _ _ _" ಗೆ ಬದಲಾಗುತ್ತದೆ, ಆಟಗಾರನು ತಮ್ಮ ಪ್ರಗತಿಯನ್ನು ದೃಶ್ಯೀಕರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ಪ್ರತಿಕ್ರಿಯೆ ಕಾರ್ಯವಿಧಾನವು ಆಟಗಾರನನ್ನು ತೊಡಗಿಸಿಕೊಳ್ಳುವಲ್ಲಿ ಮತ್ತು ಅವರನ್ನು ಪ್ರೇರೇಪಿಸುವಲ್ಲಿ ನಿರ್ಣಾಯಕವಾಗಿದೆ.
ಅಂತಿಮವಾಗಿ, ಪ್ರದರ್ಶನದಲ್ಲಿನ ಎಲ್ಲಾ ಅಂಡರ್ಸ್ಕೋರ್ಗಳನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ಆಟವು ವಿಜಯಕ್ಕಾಗಿ ಪರಿಶೀಲಿಸುತ್ತದೆ. ಸ್ಥಿತಿ "_" ಪ್ರದರ್ಶನದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ಆಟಗಾರನು ಎಲ್ಲಾ ಅಕ್ಷರಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಊಹಿಸಿದ್ದಾನೆಯೇ ಎಂದು ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತದೆ. ನಿಜವಾಗಿದ್ದರೆ, ಆಟವು ಆಟಗಾರನನ್ನು ಅಭಿನಂದಿಸುತ್ತದೆ ಮತ್ತು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಈ ಅರ್ಥಗರ್ಭಿತ ಗೆಲುವಿನ ಸ್ಥಿತಿಯು ಆಟಗಾರರು ಆಟವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ ಸಾಧನೆಯ ಭಾವನೆಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ. ಸರಳವಾದ ಆದರೆ ಶಕ್ತಿಯುತವಾದ ಆಜ್ಞೆಗಳು ಮತ್ತು ರಚನೆಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ, ಸ್ಕ್ರಿಪ್ಟ್ ಹರಿಕಾರ-ಸ್ನೇಹಿ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟಕ್ಕೆ ದೃಢವಾದ ಚೌಕಟ್ಟನ್ನು ನೀಡುತ್ತದೆ ಮತ್ತು ಭವಿಷ್ಯದ ವರ್ಧನೆಗಳಿಗೆ ಸಾಕಷ್ಟು ಮಾಡ್ಯುಲರ್ ಆಗಿರುತ್ತದೆ. 🚀
ಪೈಥಾನ್ನಲ್ಲಿ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟವನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ: ಸಮರ್ಥ ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣ
ಈ ವಿಧಾನವು ಬ್ಯಾಕೆಂಡ್ ಅನುಷ್ಠಾನಕ್ಕಾಗಿ ಪೈಥಾನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಮಾಡ್ಯುಲರ್ ರಚನೆಯೊಂದಿಗೆ ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣ ಮತ್ತು ಆಟದ ತರ್ಕವನ್ನು ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ.
# Hangman Game: Using nested loops and clear input validation
def hangman_game():
print("Let's Play Hangman Game!")
# Prompt user for a valid English word
while True:
vocab = input("Please enter an English word: ")
if vocab.isalpha():
uppercase_vocab = vocab.upper()
break
else:
print(f"Your input '{vocab}' is not a valid English word.")
# Initialize display for the word
display = ["_" for _ in range(len(uppercase_vocab))]
print(" ".join(display))
# Start guessing loop
while True:
word = input("Please enter an alphabetic character: ")
if len(word) == 1 and word.isalpha():
uppercase_word = word.upper()
# Update display if the guessed letter is correct
for i in range(len(uppercase_vocab)):
if uppercase_vocab[i] == uppercase_word:
display[i] = uppercase_word
print(" ".join(display))
# Check if the game is won
if "_" not in display:
print("Congratulations! You've guessed the word!")
break
else:
print(f"Your input '{word}' is not valid.")
# Run the game
hangman_game()
OOP ಅಪ್ರೋಚ್ನೊಂದಿಗೆ ಸುಧಾರಿತ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟ
ಈ ಪರಿಹಾರವು ಉತ್ತಮ ಮಾಡ್ಯುಲಾರಿಟಿ ಮತ್ತು ಕೋಡ್ ಮರುಬಳಕೆಗಾಗಿ ಪೈಥಾನ್ನ ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ (OOP) ಮಾದರಿಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
class Hangman:
def __init__(self, word):
self.word = word.upper()
self.display = ["_" for _ in self.word]
self.guessed = set()
def is_valid_guess(self, guess):
return len(guess) == 1 and guess.isalpha()
def update_display(self, guess):
for i, letter in enumerate(self.word):
if letter == guess:
self.display[i] = guess
def play(self):
print("Welcome to OOP Hangman!")
while "_" in self.display:
print(" ".join(self.display))
guess = input("Guess a letter: ").upper()
if not self.is_valid_guess(guess):
print("Invalid input. Please try again.")
continue
if guess in self.guessed:
print(f"You've already guessed '{guess}'. Try another.")
continue
self.guessed.add(guess)
self.update_display(guess)
print(f"Congratulations! You've guessed the word: {self.word}")
# Example usage
if __name__ == "__main__":
vocab = input("Enter a word for the Hangman game: ").strip()
if vocab.isalpha():
game = Hangman(vocab)
game.play()
else:
print("Please provide a valid word.")
ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟಕ್ಕಾಗಿ ಘಟಕ ಪರೀಕ್ಷೆಗಳು
ಈ ವಿಭಾಗವು ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟದ ಘಟಕಗಳ ಕಾರ್ಯವನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಪೈಥಾನ್ನ `ಅನಿಟೆಸ್ಟ್~ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸುವ ಘಟಕ ಪರೀಕ್ಷೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
import unittest
from hangman_game import Hangman
class TestHangman(unittest.TestCase):
def test_is_valid_guess(self):
game = Hangman("Python")
self.assertTrue(game.is_valid_guess("p"))
self.assertFalse(game.is_valid_guess("Py"))
self.assertFalse(game.is_valid_guess("1"))
def test_update_display(self):
game = Hangman("Python")
game.update_display("P")
self.assertEqual(game.display[0], "P")
def test_game_winning_condition(self):
game = Hangman("Hi")
game.update_display("H")
game.update_display("I")
self.assertNotIn("_", game.display)
if __name__ == "__main__":
unittest.main()
ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ಗಾಗಿ ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಇನ್ಪುಟ್ ಲೂಪ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು
ಪೈಥಾನ್ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟವನ್ನು ರಚಿಸುವಲ್ಲಿ, ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣಕ್ಕಾಗಿ ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಲೂಪ್ ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವುದು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಇನ್ಪುಟ್ ಸಿಸ್ಟಮ್ ದೃಢವಾದ ಮತ್ತು ಅರ್ಥಗರ್ಭಿತವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಕಡೆಗಣಿಸಲ್ಪಡುವ ಒಂದು ಅಂಶವಾಗಿದೆ. ಆಟವನ್ನು ಮುರಿಯುವ ಬಗ್ಗೆ ಚಿಂತಿಸದೆ ಆಟಗಾರನು ಊಹೆಗಳನ್ನು ಮುಕ್ತವಾಗಿ ನಮೂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಇದನ್ನು ಸಾಧಿಸಲು, ನಾವು ಆಜ್ಞೆಗಳನ್ನು ಬಳಸುತ್ತೇವೆ ಇಸಲ್ಫಾ() ಅಮಾನ್ಯ ಅಕ್ಷರಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಮತ್ತು ಲೆನ್() ಇನ್ಪುಟ್ ಕೇವಲ ಒಂದು ಅಕ್ಷರದ ಉದ್ದವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು. ಒಟ್ಟಾಗಿ, ಈ ತಪಾಸಣೆಗಳು ಸುಗಮ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತವೆ, ಆಟಗಾರರು ಒಗಟು ಪರಿಹರಿಸುವ ಮೋಜಿನ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಲು ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತಾರೆ. 🎮
ಪ್ರತಿ ಊಹೆಗೆ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಒದಗಿಸುವುದು ಮತ್ತೊಂದು ಪ್ರಮುಖ ಪರಿಗಣನೆಯಾಗಿದೆ. ದೃಶ್ಯ ಪ್ರಾತಿನಿಧ್ಯವು ಇಲ್ಲಿ ದೊಡ್ಡ ಪಾತ್ರವನ್ನು ವಹಿಸುತ್ತದೆ. ಅಂಡರ್ಸ್ಕೋರ್ಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿದ ಪಟ್ಟಿಯನ್ನು ಬಳಸಿಕೊಂಡು, ಆಟಗಾರರು ಸರಿಯಾಗಿ ಊಹಿಸಿದಂತೆ ಅವರ ಪ್ರಗತಿಯನ್ನು ನೋಡುತ್ತಾರೆ. ಈ "ಹೆಚ್ಚುತ್ತಿರುವ ಬಹಿರಂಗಪಡಿಸುವಿಕೆ" ಸಸ್ಪೆನ್ಸ್ ಮತ್ತು ತೃಪ್ತಿಯನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಬಳಸುವುದು ಸೆಟ್ () ಊಹಿಸಿದ ಅಕ್ಷರಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನಕಲಿ ಊಹೆಗಳು ಆಟವನ್ನು ಅಡ್ಡಿಪಡಿಸುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಪುನರಾವರ್ತನೆಗಾಗಿ ಆಟಗಾರನಿಗೆ ದಂಡ ವಿಧಿಸದೆ ಹರಿವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, "A" ಅನ್ನು ಹಲವು ಬಾರಿ ಊಹಿಸುವುದು ಆಟವನ್ನು ಮರುಹೊಂದಿಸುವುದಿಲ್ಲ ಅಥವಾ ಮುರಿಯುವುದಿಲ್ಲ ಆದರೆ ಸೌಮ್ಯವಾದ ಜ್ಞಾಪನೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಅಂತಿಮವಾಗಿ, ತಾರ್ಕಿಕವಾಗಿ ಆಟವನ್ನು ಸುತ್ತಲು ಅಂತಿಮ ಸ್ಥಿತಿಯನ್ನು ಸೇರಿಸುವುದು ಅತ್ಯಗತ್ಯ. ಎಲ್ಲಾ ಅಂಡರ್ಸ್ಕೋರ್ಗಳನ್ನು ಅಕ್ಷರಗಳಿಂದ ಬದಲಾಯಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುವುದು ಸ್ಪಷ್ಟ ಮತ್ತು ಸಂಭ್ರಮದ ವಿಜಯವನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಇದಲ್ಲದೆ, ಅವರು ಗೆದ್ದಾಗ ಆಟಗಾರನನ್ನು ಅಭಿನಂದಿಸುವ ಸಂದೇಶವನ್ನು ಸಂಯೋಜಿಸುವುದು ಅನುಭವವನ್ನು ಹೆಚ್ಚು ಆಕರ್ಷಕವಾಗಿ ಮತ್ತು ಲಾಭದಾಯಕವಾಗಿಸುತ್ತದೆ. ಆಗಾಗ್ಗೆ ಕಡೆಗಣಿಸದ ಈ ಅಂಶಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುವ ಮೂಲಕ, ನೀವು ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟವನ್ನು ರಚಿಸಬಹುದು ಅದು ಕ್ರಿಯಾತ್ಮಕವಾಗಿರುವುದಿಲ್ಲ ಆದರೆ ಎಲ್ಲಾ ಹಂತಗಳ ಆಟಗಾರರಿಗೆ ಹೊಳಪು ಮತ್ತು ಆನಂದದಾಯಕವಾಗಿದೆ. 🌟
ಪೈಥಾನ್ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟದ ಬಗ್ಗೆ ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು
- ಆಟಗಾರರು ಮಾನ್ಯವಾದ ಊಹೆಗಳನ್ನು ಮಾತ್ರ ನಮೂದಿಸುವುದನ್ನು ನಾನು ಹೇಗೆ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು?
- ಬಳಸಿ isalpha() ವರ್ಣಮಾಲೆಯ ಅಕ್ಷರಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಲು ಮತ್ತು len() ಇನ್ಪುಟ್ ಅನ್ನು ಒಂದೇ ಅಕ್ಷರಕ್ಕೆ ನಿರ್ಬಂಧಿಸಲು.
- ನಾನು ಆಟವನ್ನು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಆಗಿ ಮಾಡಬಹುದೇ?
- ಹೌದು, ಎಲ್ಲಾ ಇನ್ಪುಟ್ಗಳು ಮತ್ತು ಮೊದಲೇ ಹೊಂದಿಸಲಾದ ಪದವನ್ನು ದೊಡ್ಡಕ್ಷರಕ್ಕೆ ಪರಿವರ್ತಿಸಿ upper() ಸ್ಥಿರ ಹೊಂದಾಣಿಕೆಗಾಗಿ.
- ಈಗಾಗಲೇ ಊಹಿಸಲಾದ ಅಕ್ಷರಗಳನ್ನು ನಾನು ಹೇಗೆ ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು?
- ನೀವು ಬಳಸಬಹುದು a set() ಊಹಿಸಿದ ಅಕ್ಷರಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು. ಹೊಸ ಊಹೆಯಾಗಿ ಸ್ವೀಕರಿಸುವ ಮೊದಲು ಪತ್ರವು ಸೆಟ್ನಲ್ಲಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
- ಅಮಾನ್ಯ ಇನ್ಪುಟ್ಗಳನ್ನು ನಾನು ಹೇಗೆ ನಿರ್ವಹಿಸುವುದು?
- ಆಟಗಾರರು ಮಾನ್ಯವಾದ ಇನ್ಪುಟ್ ಅನ್ನು ಒದಗಿಸುವವರೆಗೆ ಪದೇ ಪದೇ ಪ್ರಾಂಪ್ಟ್ ಮಾಡಲು ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಗಳೊಂದಿಗೆ ಲೂಪ್ ಅನ್ನು ಬಳಸಿ. ಉದಾಹರಣೆಗೆ, ಪರಿಶೀಲಿಸಿ if len(word) == 1 and word.isalpha().
- ನಾನು ಆಟಕ್ಕೆ ಸ್ಕೋರಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಸೇರಿಸಬಹುದೇ?
- ಹೌದು, ತಪ್ಪಾದ ಊಹೆಗಳು ಅಥವಾ ಒಟ್ಟು ಪ್ರಯತ್ನಗಳಿಗಾಗಿ ಕೌಂಟರ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ಪ್ರತಿ ಊಹೆಯ ನಂತರ ಅದನ್ನು ಆಟಗಾರನಿಗೆ ಪ್ರದರ್ಶಿಸಿ.
ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟದ ಸಂಪೂರ್ಣ ಸುತ್ತು-ಅಪ್
ಪೈಥಾನ್ನಲ್ಲಿನ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಆಟವು ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣ ಮತ್ತು ಬಳಕೆದಾರರ ಸಂವಹನ ವಿನ್ಯಾಸದಂತಹ ಅಮೂಲ್ಯ ಕೌಶಲ್ಯಗಳನ್ನು ಕಲಿಸುತ್ತದೆ. ಇದರೊಂದಿಗೆ ಪರಿಣಾಮಕಾರಿ ಲೂಪ್ ರಚಿಸುವ ಮೂಲಕ ಆದರೆ ನಿಜ, ಆಟಗಾರರು ತಡೆರಹಿತ ಊಹೆಯ ಅನುಭವವನ್ನು ಆನಂದಿಸಬಹುದು. ದೃಶ್ಯ ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ಅಂತಿಮ ಪರಿಸ್ಥಿತಿಗಳು ಆಟದ ನಿಶ್ಚಿತಾರ್ಥವನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ. 🧩
ಅಮಾನ್ಯವಾದ ಊಹೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದರಿಂದ ಹಿಡಿದು ಟ್ರ್ಯಾಕಿಂಗ್ ಅಕ್ಷರಗಳವರೆಗೆ, ಈ ಆಟವು ಪೈಥಾನ್ನ ಸಾಮರ್ಥ್ಯಗಳ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ನೀಡುತ್ತದೆ. ಈ ಒಳನೋಟಗಳನ್ನು ಇತರ ಸಂವಾದಾತ್ಮಕ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಅನ್ವಯಿಸಬಹುದು, ಆಟಗಾರರು ಅನುಭವದ ಉದ್ದಕ್ಕೂ ಪ್ರೇರೇಪಿತರಾಗುತ್ತಾರೆ ಮತ್ತು ಬಹುಮಾನ ಪಡೆಯುತ್ತಾರೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಲಿಯಲು ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ಒಂದು ಶ್ರೇಷ್ಠ ಮಾರ್ಗವಾಗಿ ಉಳಿದಿದೆ. 🚀
ಪೈಥಾನ್ನಲ್ಲಿ ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ಗಾಗಿ ಉಲ್ಲೇಖಗಳು ಮತ್ತು ಹೆಚ್ಚಿನ ಓದುವಿಕೆ
- ಸಮಗ್ರ ಪೈಥಾನ್ ಡಾಕ್ಯುಮೆಂಟೇಶನ್: ಸ್ಟ್ರಿಂಗ್ ವಿಧಾನಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ ಇಸಲ್ಫಾ() ಮತ್ತು ಮೇಲಿನ () ಅಧಿಕೃತ ಪೈಥಾನ್ ಡಾಕ್ಸ್ನಲ್ಲಿ. ಪೈಥಾನ್ ಸ್ಟ್ರಿಂಗ್ ವಿಧಾನಗಳು .
- ಪೈಥಾನ್ ಲೂಪ್ಗಳಿಗೆ ಬಿಗಿನರ್ಸ್ ಗೈಡ್: ಬಳಕೆಯ ವಿವರವಾದ ಉದಾಹರಣೆಗಳನ್ನು ಅನ್ವೇಷಿಸಿ ಸಮಯದಲ್ಲಿ ಮತ್ತು ಫಾರ್ ಪೈಥಾನ್ನಲ್ಲಿ ಲೂಪ್ಗಳು. ರಿಯಲ್ ಪೈಥಾನ್: ಪೈಥಾನ್ನಲ್ಲಿ ಲೂಪ್ಗಳು .
- ಇಂಟರಾಕ್ಟಿವ್ ಪೈಥಾನ್ ಯೋಜನೆಗಳು: ಹ್ಯಾಂಗ್ಮ್ಯಾನ್ ವಿತ್ ಪೈಥಾನ್ನಂತಹ ಆಟಗಳನ್ನು ರಚಿಸಲು ಹ್ಯಾಂಡ್ಸ್-ಆನ್ ಟ್ಯುಟೋರಿಯಲ್ಗಳನ್ನು ಹುಡುಕಿ. GeeksforGeeks: ಪೈಥಾನ್ ಉದಾಹರಣೆಗಳು .
- ಆಟಗಳೊಂದಿಗೆ OOP ಕಲಿಯಿರಿ: ಪೈಥಾನ್ ಬಳಸಿಕೊಂಡು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಆಟದ ವಿನ್ಯಾಸಕ್ಕೆ ಆಳವಾಗಿ ಮುಳುಗಿ. ಪೈಥಾನ್ನೊಂದಿಗೆ ಆವಿಷ್ಕರಿಸಿ .