קישור לחלק ראשון – היכרות עם פייתון: עבודה עם סוגי נתונים.
קישור לחלק השלישי – פונקציות.
קישור לחלק הרביעי – מחלקות.
תרגילים.
תנאי if
תנאי if משמש לקביעה האם קטע קוד מתבצע. אם התנאי מחזיר ערך true, קטע הקוד יבצע. אם התנאי מחזיר ערך false קטע הקוד לא יתבצע והתוכנית לעבור להמשיך אחרי בלוק ה-if.
כדי לקבוע מה נמצא מתחת ל-if יש את הכניסה של השורה פנימה.
# if Statement
test_value = 100
if test_value > 1:
# Expression evaluates to True
print("This code is executed!")
if test_value > 1000:
# Expression evaluates to False
print("This code is NOT executed!")
print("Program continues at this point.")
תנאי else
אם התנאי לא מתקיים, אפשר לקבוע קטע קוד אחר שיבוצע.
# else Statement
test_value = 50
if test_value < 1:
print("Value is < 1")
else:
print("Value is >= 1")
test_string = "VALID"
if test_string == "NOT_VALID":
print("String equals NOT_VALID")
else:
print("String equals something else!")
בדיקת תנאים נוספים
אפשר להמשיך ולבדוק תנאים נוספים על ידי elif.
# elif Statement
pet_type = "fish"
if pet_type == "dog":
print("You have a dog.")
elif pet_type == "cat":
print("You have a cat.")
elif pet_type == "fish":
# this is performed
print("You have a fish")
else:
print("Not sure!")
בדיקה האם ערך נמצא ברשימה על ידי in
אפשר לבדוק האם ערך נמצא בתוך הערכים של רשימה.
grades = [65, 83, 75, 100, 57, 90]
if 100 in grades:
print('We have found a perfect score')
אפשר להשתמש במילה in גם כדי לעשות מעבר על רשימה של ערכים.
todo_list = ['start project proposal', 'review the proposal with Team Lead', 'continue working on the proposal', 'present the proposal']
for todo in todo_list:
print('Things to do today: ', todo)
לולאת for
כדי לעבור על רשימה של ערכים, אנחנו משתמשים בלולאת for.
james_cameron_movies = ["Titanic", "Avatar", "The Terminator", "Aliens"]
for movie in james_cameron_movies:
print(movie)
# Output:
Titanic
Avatar
The Terminator
Aliens
שימוש ב-range
אם נרצה להגדיר את מספר הפעמים המדוייק שהלולאה תעבוד, נשתמש ב-range. בדוגמא הלולאה תעבוד 3 פעמים (המספרים בלולאה יהיו 0-2).
# Print "WARNING" 3 times:
for i in range(3):
print("WARNING")
השימוש ב-range יכול להיות מורכב יותר. המשתנים שעוברים לפונקציה הם מספר התחלה, מספר סיום (לא כולל) ואפשר גם להגדיר את גודל הקפיצה בין המספרים. בדוגמא אנחנו מתחילים ממספר 1, הלולאה תעבוד 10 פעמים, והקפיצה בין המספרים תהיה של 1.
for num in range(1, 11, 1):
if num % 2 == 0:
print('Num ', num, ' is even')
elif num % 2 != 0:
print('Num ', num, ' is odd')
שימוש ב-continue
לפעמים לא רוצים להמשיך את הסיבוב הנוכחי בלולאה בשל תנאי מסוים ורוצים לעבוד לסיבוב הבא, את זה אפשר לעשות עם continue.
big_number_list = [1, 2, -1, 4, -5, 5, 2, -9]
# Print only positive numbers:
for i in big_number_list:
if i < 0:
continue
print(i)
לולאה עם שמירת האינדקס
לפעמים רוצים לעבור על ערכים ברשימה, אבל יש צורך גם לדעת מה האינדקס הנוכחי שנמצאים בו. עבור זה אפשר להשתמש ב-enumerate. כברירת מחדל האינדקס מתחיל במספר 0, אבל אפשר לשלוח לפונקציה את המספר שבו רוצים להתחיל למספר את הערכים (בדוגמא השנייה).
# A string is a list, each character is an item on the list
greeting = "hello"
for index, character in enumerate(greeting):
print(character, ' is located at index ', index, ' in string ', greeting)
james_cameron_movies = ["Titanic", "Avatar", "The Terminator", "Aliens"]
for index, movie in enumerate(james_cameron_movies, 1):
print(movie, ' is located at index ', index, ' in list ', james_cameron_movies)
לולאות מקוננות
כשיש רשימה בתוך רשימה, אפשר לעבור על שתי לולאות האחת בתוך השנייה.
groups = [["Jobs", "Gates"], ["Newton", "Euclid"], ["Einstein", "Feynman"]]
# This outer loop will iterate over each list in the groups list
for group in groups:
# This inner loop will go through each name in each list
for name in group:
print(name)
לולאת while
לולאת while מאפשרת לנו לעבור על רשימות כל עוד מתקיים תנאי מסויים. יש לנו ערך כלשהו שמקיים את התנאי והוא משתנה בתוך הלולאה. כל עוד התנאי מתקיים הלולאה תרוץ.
** צריך לשים לב, שאם נגדיר תנאי שמתקיים כל הזמן, נכנס ללולאה אינסופית שלא תפסיק לרוץ.
# Starting with 1 the initial_value will change in the loop
# The loop will run 10 times.
initial_value = 1
while initial_value <= 10:
print('initial value is: ', initial_value)
initial_value = initial_value + 1
# This loop will only run 1 time
hungry = True
while hungry:
print("Time to eat!")
hungry = False