איך לספור כאשר יש הרבה תאריכים שונים?
אני רוצה להעביר לכם רשימה של 20 תאריכים. תוכלו להגיד לי כמה חולים היו בכל תאריך?
הדסה
רגע, האם נצטרך לכתוב את אותו קטע קוד עבור כל תאריך?!
דורון
לולאה!
יש פתרון!
אנחנו כבר מכירים כלי תכנותי שמאפשר לנו להריץ את אותו קוד שוב ושוב ושוב ושוב ושוב….
לתזכורת, כך מדפיסים את כל המספרים מ-1 ועד 100 באמצעות לולאת for:
for number in range(1,101):
print(number)
יש כאן לולאה על מספרים, אבל הדסה מעבירה לנו רשימה של תאריכים. אני גם די בטוחה שבהמשך היא תעביר לנו רשימה של ערים…
דורון
יש פתרון גם לזה!
במקום משתנה שמכיל תאריך, או עיר, או שם וכו', אנחנו יכולים להגדיר משתנה מיוחד שהוא בעצם רשימה של תאריכים, או של ערים, או של שמות, וכו'...
למדנו עכשיו, שבאמצעות לולאת for אפשר לרוץ על טווח של מספרים, אבל גם על רשימות.
כך אפשר להריץ את אותו קוד שוב ושוב עבור כל פריט ברשימה.
למשל רשימה של שמות או רשימה של תאריכים...
דוגמה לרשימה של שמות:
names = ["Noa kirl", "Ishay Ribo", "Sia"]
דוגמה לרשימה של תאריכים:
dates = ["22/4/2020", "21/4/2020", "20/4/2020"]
ולסיכום, כך רצים על רשימה באמצעות לולאת for:
Noa Kirl
Ishay Ribo
Sia
for name in names:
print(name)
אוקי נשמע טוב, אבל… לולאה לא פותרת לנו את כל הבעיה כאן, כי אנחנו רגילים לכתוב בפקודה filter_data את הערך המדויק שלפיו אנחנו רוצים לפלטר… מה נעשה עכשיו בתוך הלולאה?
דורון
כמו שפקודת print כאן למעלה יודעת לקבל בסוגריים משתנה ולהדפיס אותו, גם פקודת filter_data יודעת!
שימו ❤ איך אפשר להחליף בתוך פקודת הפילטר את השם Noa Kirl, במשתנה:
songs_artist = filter_data(songs, "artist", "Noa Kirl")
songs_artist_count = count_data(songs_artist)
songs_artist = filter_data(songs, "artist", name)
songs_artist_count = count_data(songs_artist)
באופן כזה אפשר למשל לספור את השירים של כל האמנים ברשימה שלנו, ולהדפיס את המספר הזה, הנה:
for name in names:
songs_artist = filter_data(songs, "artist", name)
songs_artist_count = count_data(songs_artist)
print(name)
print(songs_artist_count)
Noa Kirl
3
Ishay Ribo
3
Sia
1
איך נספור בלולאה?
הסתכלו על קטע הקוד כאן למעלה.
תארו את מה שקורה בקוד, שורה אחר שורה:
נו, מוכנים לעבור לתכל'ס?
דורון
עברו לקולאב לשלב 'עיבוד' ומצאו את הסימניה הבאה:
יאללה לעבודה
אם הגעתם לכאן, זה אומר שכבר יש לכם תוכנית שיכולה להעביר אלינו למשרד הבריאות את תוצאות האמת עבור כל רשימת תאריכים שנבקש!
👏👏👏
הדסה
קדימה, נשאר לכם רק להציג לנו את התוצאות בצורה ברורה, שנבין בקלות אם המגיפה מתפשטת או מאטה!
אמיר