הקלט שהוא נותן לי לתת לו היא 2 תווים ללא רווח בינהם. כמובן שאח"כ אני בודקת את תקינות התווים. אבל האם זה בסדר שאין רווח בינהם?
לדוגמא: עבור אינפוט של שורה 0 ועמודה 0, הקלט צריך להיות 00
row, col = input(f"Player ‘{player_char}’ Please choose cell: ")
Felixmn
לפי הדוגמאות במחברת מזינים את המיקומים עם רווח ביניהם. אבל אני לא חושב שזה קריטי שעשית ללא רווח.
בעיקרון כפי שלמדנו כשמשתמשים באינפוט התוצאה שאנחנו מקבלים היא מחרוזת, ואנחנו יודעים כעת כבר איך לטפל במחרוזות ולשלוף מתוכן ערכים שרצויים לנו. ככה שגם אם יש רווח בין 2 המיקומים, נדע איך לטפל בזה.
(אם לא זוכרת, מוזמנת להציץ בחוברת 5 משבוע שעבר)
שנית: זו יותר שאלה לסגל, אבל לדעתי עדיין לא השתמשנו בכתיב כזה row, col לשמירת ערכים, אבל מגניב שזה אפשרי!
aviadamar
איזה טריק מגניב ! לא ידעתי שזה אפשרי
Yam
אכן לא השתמשנו
מדבר על זה במחברות של שבוע הבא.
לייק 1
hadaskam
ברור לי שאפשר לקבל מחרוזת אחת ולחלק אותה, אך כמו שאמרת, ככה זה יותר אלגנטי… רק לא מבינה איך לעשות איך שניתן יהיה לקבל רווח בינהם.
hadaskam
אז האם זה תקין?
אפשר להשאיר כך את האינפוט?
Felixmn
הרמז פה הוא שבמחרוזת גם רווח הוא תו, וככזה את יכולה להפעיל עליו פעולות של מחרוזות ולטפל בו כראות עינייך. יש כל מיני מתודות שמאפשרות לך את זה במחברת 5 שבוע 2.
ז"א “0 1” זו מחרוזת שאת יכולה לקבל ממשתמש דרך אינפוט.
Yam
מה שהטריק שעשית עושה זה לחלק את האיבר הראשון ב־iterable ל־row, ואת האיבר השני ל־col.
מהסיבה הזו התוכנית שלך תקרוס אם תכניס כל דבר שאינו 2 תווים, ולדעתי זה פחות מוצלח בנסיבות האלו.
hadaskam
תודה על המענה. אתקן למחרוזת
Felixmn
תקן אותי בבקשה אם טועה, אבל בתרגיל הזה תקינות הקלט מתייחסת רק לבדיקה שהמספרים חוקיים ולא למקרים בהם המשתמש החליט להזין במקום מספרים סתם תווים כמו אותיות או סימנים מיוחדים. לא?
Yam
יש מצב, לא קראתי אותו לאחרונה.
אני רק אומר שזה טריק “לא בריא” במקרים האלו, ושאם נצטרך מחר להרחיב טיפה את התוכנית זה סתם יהיה מבאס.
במקרים של וידוא קלט אני באופן אישי ממליץ לא להתקמצן ולכתוב כמה שורות שעושות את העבודה. זה לא דורש הרבה מהמתכנת וכבר יש לכם את הידע לדאוג לזה
לייק 1
aviadamar
פליקס זה נכון שזה לא הוגדר ספציפית פה אבל זה אכן מצב אפשרי, אני אישית עשיתי בדיקה עבור כל אופציה לא אפשרית (סתם כדי לאתגר את עצמי)