תכנות
—
שיעור 88
21/May/2009
פתרון תרגיל
—
מחרוזת משבצות שחמט
הצגנו
שתי פתרונות
לתרגיל
משעור קודם
.
הפתרון השני הוא תעלול לא מומלץ ובלתי קריא.
אבל הוא מדגים את הכח של
map
ופונקצית
lambda.
הִיפּוּך רשימה
ראינו כמה שיטות להפוך את הסדר של רשימה.
תרגילים
-
השלם תרגילים קודמים.
-
קרא היטב את הסיכום שלמעלה. עבור על הפתרונות המוצגים ב
rows2chess.py.
-
הפיכת תת-קטע ברשימה.
כתוב פונקציה (ותוכנית בדיקה)
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]
-
כתוב פונקציה (ותוכנית בדיקה)
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]
חזרה לעמוד האם