range

March 15, 2019

פעולת range

פעמים רבות משלבים את פקודת for עם פקודה אחרת בשם range ו ונראה מה פקודה זו מבצעת (הגם שהמונח פקודה הוא לא מדויק בהמשך נלמד מה בדיוק היצור הזה) –

 

for num in range(5):

    print (num)

 

>>>

0

1

2

3

4

ניתן להתייחס אל פקודת ה- range כאובייקט מיוחד המייצר בכל פעם מספר אחד בטווח המספרים מ- 0 ועד למספר שנקבנו בו בפקודת ה- range (לא כולל את המספר עצמו) – תכונה זו נקראת iteration ופקודת rang מייצרת איטרטור (iterator -אני לא אחראי לשמות). ניתן לקבוע מהיכן תתחיל הספירה, מתי היא תפסיק ובאלה קפיצות –

 

for num in range(1,10,2):

    print (num)

 

>>>

1

3

5

7

9

 

בתוכנית למעלה ביקשנו להדפיס את המספרים החל מהמספר 1 (לא מאפס) ועד 10 (לא כולל 10) בקפיצות של 2.

אפשר לעשות דברים יותר מורכבים –

 

lista=["a","b","c","d"]

for i in range (len(lista)):

    print (lista[ i ])

 

>>>

a

b

c

d

 

התוכנית למעלה מבצעת לולאת for יחד עם פקודת range שבמקום פרמטר מספרי הכנסנו ל- range את אורך הרשימה (len(lista שהוא במקרה הזה שווה ל – 4 וכך הצלחנו לגרום לתוכנית להדפיס את איברי הרשימה, החל מ- lista[0] ועד lista[3] . כעת גם אם נוסיף איברים לרשימה ואורכה יתארך, התוכנית עדיין תעבוד.

אפשר להשתמש בפקודת range בשילוב עם הפקודה list על מנת לייצר רשימות מספרים מהירות –

 

 

lista=list(range(10))

print (lista)

 

>>>

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 

 

 

 

 

Please reload

Please reload

רעננו את הדף והקליקו למעבר לנושא הבא: