האם יש משהו שאנחנו יכולים להניח על הקלט מהמשתמש?
מבנה כלשהו של הקלט שעל בסיסו נוכל לעשות את ההמרה לרשימה או רשימה של רשימות?
חיפשתי ולא מצאתי דרך מובנית בפייתון לעשות המרה מinput שמתקבל כstr למבנה של רשימה
למשל - עבור תרגיל 35: האם הרשימה היא של איברים פשוטים או יכולים להיות בתוכה איברים שהם רשימות?
האם היא מתקבלת כרשימה של איברים המופרדים ע"י ", "?
האם המשתמש מכניס אותה עם [ ] או בלעדיהם?
orpazf
למעשה יש מתודות שהופכות מחרוזת לרשימה, למשל המתודה split, אבל אני לא בטוחה שכבר למדנו אותן - ואם לא אז אסור להשתמש בהן.
lsperling
אכן נלמדה ולכן מותר
העניין הוא שלא ברור באיזה אופן הקלט מתקבל ולכן שאלתי מה מותר להניח.
נגיד האם עבור רשימה הוא מתקבל באופן הבא: obj1, obj2, obj3, …
או שהוא מתקבל בסינטקס מלא של רשימה ז"א: [obj1, obj2, obj3, …]
לשני האופנים יש פתרונות, השאלה היא מה הכוונה
Yam
מותר להניח שמתקבל כמחרוזת ארוכה מופרדת בפסיקים
benditi
אני הבנתי מתרגיל 36 (“מיקומים”) שההנחה היא שאנחנו מקבלים לפונקציה קלט שהוא בעצמו רשימה של רשימות, רק שלא בטוח האורך של הרשימה הגדולה. האם אני טועה?
itamaraviv
כאשר אתם מגדירים פונקציות, הקלט אליהן לא בהכרח יגיע מהמשתמש דרך input אלא ייתכן שמישהו יקרא ישירות לפונקציה שלכם עם רשימה שהוא הגדיר ידנית, כלומר ככה: my_nested_list = [[1, 2, 3], ["a", "b", "c"]]
@benditi אתה צודק. הפונקציה תקבל רשימה של רשימות שאתם לא יודעים עליה כלום, חוץ מהעובדה שהיא רשימה של רשימות.
אפשר, אם נוח לכם, לקלוט משתנה דרך input אך התרגיל לא דורש שום דבר פרט לעובדה שהפונקציה צריכה לקבל קלט שהוא בצורה הזאת.
איתמר
2 לייקים
maya1192
האם מישהו קלט דרך אינפוט, מופרד עם פסיקים ונתקל בבעיית האיבר הראשון והאחרון שיש בהם ]] או [[? אני מנסה לפתור את זה עם ריפלייס אבל לא מצליחה…
itamaraviv
אל תקלטי דרך input, פשוט תניחי שהארגומנט של הפונקציה הוא רשימה של רשימות.
את יכולה להריץ את הפונקציה ישירות מהתא של ה-jupyter כך: