תכנות — שיעור 88 21/May/2009    

פתרון תרגיל — מחרוזת משבצות שחמט

הצגנו שתי פתרונות לתרגיל משעור קודם . הפתרון השני הוא תעלול לא מומלץ ובלתי קריא. אבל הוא מדגים את הכח של map ופונקצית lambda.

הִיפּוּך רשימה

ראינו כמה שיטות להפוך את הסדר של רשימה.


תרגילים

  1. השלם תרגילים קודמים.
  2. קרא היטב את הסיכום שלמעלה. עבור על הפתרונות המוצגים ב rows2chess.py.
  3. הפיכת תת-קטע ברשימה. כתוב פונקציה (ותוכנית בדיקה)
    def sub_mirror(a, b, e)

    שמקבלת רשימה a, ושני מציינים (אינדקסים) של התחלה וסוף b, e ומחזירה את הרשימה כאשר תת-הקטע:
    a[b], a[b+1], ... a[e-1]

    מהופך.
    לדוגמא, אם תקרֵא:
    sub_mirror([20, 30, 50, 70, 110, 130, 170], 2, 5)

    אז היא תחזיר את הרשימה:
    [20, 30, 110, 70, 50, 130, 170]

  4. כתוב פונקציה (ותוכנית בדיקה)
    def last_up(a)
    שמקבלת רשימת מספרים שונים זה מזה, ומחזירה את המציין (אינדקס) האחרון i שמקיים:
    a[i] < a[i + 1]

    ואם אין כזה, היא תחזיר: -1.
    לדוגמא אם תקרֵא:
    last_up([21, 22, 23, 11, 12, 13, 7, 5, 3])

    אז היא תחזיר את המספר 4 כי במקרה זה
    a[4] = 12 < a[4+1] = 13 > a[4+1] > a[4+2] > a[4+3]


חזרה לעמוד האם