חתול ארוך, הבודק האוטומטי

הבודק האוטומטי נותן לי ההודעה הזאת:
image

חשבתי שכל הרעיון של התרגיל הוא לכתוב אותו בשורה אחת, מה שהצלחתי לעשות. אבל הבודק לא אוהב את זה. אם לא אשתמש בלמבדה, זה אומר לפצל לפונקציה חיצונית. פספספתי משהו?
ועוד דבר, הבודק נותן לי שגיאה שלא העברתי פרמטר לפונקציה, למרות שכן העברתי, אחרת היא לא היתה עובדת…
מישהו נתקל בזה כבר?

היי,
כמו שים כבר כתב במחברות, המטרה היא לא להפוך את הכל לשורה אחת. המטרה היא להפוך דברים לקריאים יותר (בין השאר גם בכך שהטקסט קצר יותר).
בקיצור, לא חייב לפתור בשורה אחת.
אני אמנם לא רואה את ה-lambda שכתבת, אבל אני ממליץ לך להקשיב להוראות הבודק האוטומטי ולפצל לפונקציה נוספת אם נדרש.

נחשב סופר לא מנומס להגדיר פונקציה בעזרת lambda ולתת לה שם. זה מפספס את המטרה שלה כפונקציה אנונימית.

לייק 1

אבל בכל פעם שנרצה להשתמש בפונקציה אנונימית, בסופו של דבר התוצאה תוכנס למשתנה, כלומר שם. אחרת איך אפשר להשתמש בזה?

פונקציה אנונימית נועדה לטפל במקרים ספציפיים כמו בדוגמאות:
map, filter, sorted

לייק 1

עוד בבודק האוטומטי…
עבור זה:
image
קיבלתי את ההודעה הזאת:

הוא כותב שחסרים משתנים לפונקציה, כאשר בפירוש שלחתי אותם בקריאה לפונקציה. יש משהו בסיסי שאני לא מבין?

ועוד בעלילות הבודק האוטומטי. שיניתי את חתול שחור, ופיצלתי את הפונקציה. ההודעה הקודמת נעלמה, אבל הבודק טוען שהקוד לא עובר את בדיקת איות וממליץ על שני טקסטים לבדיקה. הרצתי אותם, ואין אף תו שעובר את הקוד. כמובן שעבור הטקסט שניתן לנו בתרגיל, התוצאה שלי זהה לתוצאה הרצויה:


אלה התוצאות כשהזנתי את הטקסט שנתן הבודק:


זה לא דומה לתוצאות שהוא הראה, על אותו הקוד בדיוק. הדבר היחידי שאני מעלה על הדעת, זה שבטקסט ספציפי, יכול להיות שתו מחליף רווח, ובניקוי שלו מתקבלת מילה ארוכה במקום שתי מלים. אבל אין שום דרך להבחין בין מצב כזה, לבין מצב שיש תו לא רצוי באמצע מילה מסויימת, מבלי לדעת את זה מראש.
אם יש מישהו שיש לו רעיון, אז בבקשה… לי הם ניגמרו…

אולי הכוונה היא שדווקא הפונקציה לא אמורה לקבל פרמטרים?

בדוגמה הראשונה – ראה את המילה money, לדוגמה

“k8f for life, for money$$y and 4 style&life”
זה הטקסט, יש שם שני y…


לא לפי מה שהדבקת פה


כן, היתה לי טעות בהקלדת הטקסט, לא ניתן פשוט להעתיק אותו מהבודק. עדיין אני לא מבין… אין אף תו שלא מסונן בקוד

הכל הסתדר לי פרט לתרגיל חתול ארוך, שבאמת אין לי מושג מדוע אני מקבל שגיאה. אם מישהו הצליח לעבור פה את הבודק האוטומטי, אשמח להכוונה :pray:

הפונקציה שלך מטפלת במקרים של None מחרוזות ריקות וכו ?

במחרוזת ריקה, מתקבל מילון ריק. לא הבנתי למה התכוונת ב- NONE. הוראות התרגיל הן שהפונקציה מקבלת מחרוזל, ומחזירה מילון. זה בדיוק מה שהיא עושה

מה כרגע ההערה שנשארת לך אחרי כל התיקונים שעשית ?

https://forums.pythonic.guru/uploads/default/original/2X/d/da206d73fda79ed524e359373ebf9d398a8748ef.png

ההערה הזאת

אבל זה מה שאתה עשית במחברת (עם add) לכאורה.
תוכל לפרט קצת יותר מתי כן ומתי לא?

אני מיואש מההודעה הזאת של הבודק. אני לא מצליח להיפתר ממנה, ואין שום תו בשום מצב שעובר למילון, וכל המלים מחולקות כמו שצריך

הבעיה היא שאתה צריך להוריד תווים גם מאמצע המילה, ואז יש לך מילה נוספת
הבעיה היא לא שעוברים לך יותר מידי מילים, אלא שלא עוברות מספיק
המילה k8s צריך להפוך ל ks ואז להיכנס למילון בתור ks:2