9 תשובות
#הגדרת הפונקצייה
str_triple=lambda x:''.join(3*char for char in x)
#הדפס הערך המתקבל מהביטוי של הקריאה לפונקציה שהוגדרה קודם
print(str_triple('learn'))
*הערה: יש מצב שזה מכיל חומר שעוד לא למדת, וגם אני לא רק מגדירה פה את הפונקציה אלא גם מציבה אותה
התשובה בעמוד 5
רגע היה צריך לקלוט טקסט? סליחה, פשוט בפתרון הקודם זה התבסס על זה שאין קלט אלא יש הצבה של פרמטר/שימוש בארגומנט. הפונקצייה הבא די דומה לפונקציה הקודמת אבל יש 2 הבדלים עיקריים. דבר ראשון, הפעם האיטרטור שעליו מופעל הgenerator expression הוא הקלט של המשתמש (זה הולך לכתוב למשתמש enter string: לפני שהוא יתחיל ללכתוב) במקום האיטרטור x שהוא למעשה פרמטר. דבר שני, הפעם אין פרמטרים בכלל בתחשיב למדא זה, ולכן כשאני קוראת לפונקציה אז אני לא אכתוב אפילו ארגומנט אחד

ואחרי כל החפירות, הנה הקוד:
str_triple=lambda:''.join(3*char for char in input('enter string: '))
print(str_triple())
הקוד של מי שכתבו כאן הוא קוד נכון אבל למי שלא בקיא עד הסוף בפיתון יהיה קצת קשוח לקרוא ולהבין,
בעיקרון עליך לקלוט לתוך משתנה באמצעות הפונקציה input(),
אחר כך עליך לרוץ בלולאת פור על מנת לגשת לכל תו בנפרד בקלט שקיבלת, לשרשר כל תו 3 פעמים ולאחר מכן להדפיס.
מי שעשה זאת מעליי כתב זאת מצוין אך עשה זאת באופן תמציתי ועל מנת שתבין את העיקרון התכנותי מאחורי המטלה הינה ההסבר:)
cyberdog55, אין צורך לשמור משתנה, אפשר ישירות לשים את הקלט
מסכים איתך לגמרי, רק רציתי לפשט הכל במידה והקוד לא יהיה לו ברור. אפשר לעשות את כל הקוד הזה בשורה אחת בפייתון בלי שום בעיה אבל למי שעדיין לומד ההבנה והקריאות די חשובים בהתחלה
שואל השאלה:
תודה לכולם(:
אנונימית