היי,
לפי מה שהבנתי מהתרגיל קליטת שורה ועמודה מהמשתמש אמורה להתבצע בשורת input אחת מה שהצלחתי לעשות מחייב את המשתמש להכניס קלט תקין כלומר row (space) column, במקרה שהמשתמש יכניס רק מספר אחד (ולא 2 כפי שנדרש) התוכנית תקרוס.
האם ניתן להניח שהמשתמש מכניס 2 מספרים (כמובן שהתקינות שלהם יחסית ללוח נבדקת בהמשך…) ?
אם לא ניתן להניח זאת, אשמח לקבל רמז שמאפשר קליטה של 2 inputים בשורה כי בכל מה שמצאתי נדרש להכניס 2 ערכים.
תודה (:
Neuman
נשמע שאת בכיוון הנכון. אפשר להשתמש באמת ברווח, ואז להפריד את הקלט של המשתמש.
כדאי בכל זאת לוודא שהתוכנית לא תקרוס. מדוע את חושבת שהיא תקרוס? האם יש לך דרך ״לזהות״ שזה עומד לקרות ולבקש מהמשתמש שיכניס שוב?
לייק 1
aviadamar
מכיוון שאת יכולה לדעת שיהיה קלט לא תקין שווה לעשות בדיקה אחרי שמקבלים את הקלט ולוודא שהוא אכן עומד בדרישות ואם לא … לדאוג שיכניסו שוב.
יש לשים לב שזה למעשה גם חלק מדרישות התרגיל. רשום שיש לקבל מהמשתמש קלט שוב ושוב עד שיהיה קלט תקין (:
לייק 1
shir95
תודה!! אני חושבת שהצלחתי (:
פשוט בהתחלה עשיתי ככה:
()row, col = input("Player %s please choose cell: row and column " % player_char).split
הנחתי שהמשתמש מכניס row (space) column בצורה תקינה ואח"כ ביצעתי את בדיקות הקלט ששורה ועמודה בין 0 ל2 ואם לא מזינים שוב (שוב הנחה שמזינים שני ערכים בצורה תקינה )…
הבעיה הייתה שאם המשתמש מזין ערך אחד התוכנית קורסת אבל עכשיו כבר לא