(א)נתונה מחרוזת s="aMrAdDYrM". עקבו בעזרת טבלת המעקב אחרי זימון הפעולה why(s) ורשמו מהי תוצאת הזימון.

```python
def why(s):
while len(s) > 1:
if s[0] < 'A' or s[0] > 'Z':
s = s[1:]
elif s[-1] < 'A' or s[-1] > 'Z':
s = s[:-1]
elif s[0] != s[-1]:
return False
else:
s = s[1:-1]
print(s)
return True
```
(ב)נתונה הפעולה what הבאה:

```python
def what(s):
while len(s) > 1:
if s[0] != s[-1]:
return False
s = s[1:-1]
return True
```

תנו דוגמה למחרוזת s באורך שישה תווים כך שזימון what(s) יחזיר ערך true.
(ג)נתונה הפעולה where הבאה. הפעולה משתמשת בפעולה what:

```python
def where(s):
str = ""
for i in range(len(s)):
if s[i] >= 'A' and s[i] <= 'Z':
str = str + s[i]
return what(str)
```

האם הפעולה where שקולה (מבצעת בדיוק אותו הדבר) לפעולה why? אם כן, הסבירו מה מבצעות שתי הפעולות באופן כללי, ולא – תנו דוגמה של מחרוזת s שעבורה תוצאות הזימונים why(s) ו-where(s) יהיו שונות.

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←