• בלוג
  • תרגילי פונקציות ופרמטרים בפייתון

תרגילי פונקציות ופרמטרים בפייתון

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

1. קבלת ערכים

כתבו את הפונקציות sum_digit הבאות (לכל הפעלה כתבו פונקציה משלה) כך שיחזירו את סכום הספרות של הפרמטר שקיבלו:

s = sum_digits1(123)
t = sum_digits2('123')
r = sum_digits3([1, 2, 3])

כתבו את הפונקציות manhattan_distance הבאות כך שיחזירו את מרחק מנהטן בין שתי נקודות (אם כל נקודה מורכבת מערכי x ו-y, מרחק מנהטן הוא ההפרש בין ה x-ים פלוס ההפרש בין ה y-ים):

s = manhattan_distance1(x1=10, y1=10, x2=20, y2=20)
t = manhattan_distance2([10, 10], [20, 20])
r = manhattan_distance3(10, 10, 20, 20)

אתגר: כתבו פונקציה אחת בשם manhattan_distance שתצליח להחזיר את הערך הנכון בשלושת הקריאות כלומר שנוכל להפעיל אותה בכל 3 הדרכים הבאות:

s = manhattan_distance(x1=10, y1=10, x2=20, y2=20)
t = manhattan_distance([10, 10], [20, 20])
r = manhattan_distance(10, 10, 20, 20)

2. החזרת ערכים

כתבו את הפונקציה largest_n כך שהקוד הבא יעבוד:

x = largest_n([10, 20, 30, 40, 50], 1)
# now x == 50

x, y = largest_n([10, 20, 30, 40, 50], 2)
# now x == 50 and y == 40

3. ערכי ברירת מחדל

עדכנו את הפונקציה largest_n כך שגם הקוד הבא יעבוד:

x = largest_n([10, 20, 30, 40, 50])
# now x == 50

4. קבלת מערכים ומילונים

כתבו מחדש את הפונקציה largest_n כך שהקוד הבא יעבוד:

x = largest_n(1, 10, 20, 30, 40, 50)
# now x == 50

x, y = largest_n(2, 10, 20, 30, 40, 50)
# now x == 50, y == 40

עכשיו השתמשו בגירסא החדשה של הפונקציה כדי למצוא את שני הערכים הגדולים ביותר במערך values בתוכנית הבאה:

values = [10, 20, 30, 40, 50]
x, y = <fill in the code here>

# now x == 50, y == 40