פונקציית range
חלק מהיחידה יסודות במסלול ה-Python של Coddy. שיעור 40 מתוך 77.
הפונקציה range() ב-Python יוצרת רצף של מספרים, שבו משתמשים בדרך כלל עם לולאות for כדי לחזור על קוד מספר מסוים של פעמים.
צרו טווח שמתחיל ב־0 ומסתיים ב־4:
for i in range(5):
print(i)הפלט יהיה:
0
1
2
3
4אפשר גם לציין ערך התחלה:
for i in range(2, 6):
print(i)הפלט יהיה:
2
3
4
5ואפשר לציין ערך צעד (תוספת):
for i in range(1, 10, 2):
print(i)הפלט יהיה:
1
3
5
7
9ספירה לאחור (סדר יורד):
אפשר גם להשתמש בערך צעד שלילי כדי לספור לאחור. כשמשתמשים בצעד שלילי, ערך ההתחלה חייב להיות גדול מערך הסיום:
for i in range(10, 0, -1):
print(i)הפלט יהיה:
10
9
8
7
6
5
4
3
2
1אפשר גם להשתמש בצעדים שליליים גדולים יותר:
for i in range(20, 9, -2):
print(i)הפעולה תפיק:
20
18
16
14
12
10שימו לב ש־10 נכלל בפלט אף על פי שערך הסיום הוא 9. הסיבה לכך היא שערך הסיום הוא לא כולל: הלולאה נמשכת כל עוד הערך הנוכחי גדול מ־ ערך הסיום. מכיוון ש־10 > 9, הוא מודפס. הצעד הבא יהיה 8, שאינו גדול מ־9, ולכן הלולאה נעצרת.
נקודה חשובה: כשמשתמשים בצעד שלילי, ערך ההתחלה חייב להיות גדול מ־ ערך הסיום. ערך הסיום עדיין אינו נכלל.
אתגר
מתחיליםכתבו לולאת for שמדפיסה מספרים באמצעות הפונקציה range(). התוכנית שלכם צריכה:
- לקרוא שלושה מספרים כקלט:
start,endו-step - להשתמש בלולאת for עם
range(start, end, step)כדי להדפיס את כל המספרים מ-startעדend(לא כוללend) במרווחים שלstep - להדפיס כל מספר בשורה חדשה
הוראות:
- קוד קריאת הקלט כבר מסופק
- החליפו את ההערה בלולאת for שלכם
- השתמשו ב-
range(start, end, step)בלולאה שלכם
נסו בעצמכם
# קבלו קלט מהמשתמש
start = int(input())
end = int(input())
step = int(input())
# כתבו כאן את לולאת ה-for שלכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: קומפיילר Python אונליין