אופרטורים הם הסמלים שאנו משתמשים בהם כדי לבצע פעולות על ערכים ומשתנים. בפייתון ישנם כמה סוגים מרכזיים של אופרטורים:
- אופרטורים אריתמטיים (Arithmetic): משמשים לביצוע חישובים מתמטיים, כמו חיבור, חיסור, כפל וחילוק.
- אופרטורים להשוואה (Comparison): משווים בין ערכים ומחזירים ערך לוגי (True/False).
- אופרטורים לוגיים (Logical): משמשים לביצוע פעולות לוגיות כמו "וגם" (AND), "או" (OR), ושלילה (NOT).
- קדימות אופרטורים (Operator Precedence): הסדר שבו פייתון מבצעת את הפעולות בקוד.
בשלב זה, תלמדו כיצד להשתמש באופרטורים כדי לבצע חישובים, להשוות בין ערכים, ולבנות תנאים מורכבים.
דוגמת קוד
# Arithmetic operators
x = 10
y = 3
addition = x + y # Adding x and y
subtraction = x - y # Subtracting y from x
multiplication = x * y # Multiplying x by y
division = x / y # Dividing x by y (returns a float)
modulus = x % y # Remainder of x divided by y
print("Addition:", addition)
print("Subtraction:", subtraction)
print("Multiplication:", multiplication)
print("Division:", division)
print("Modulus:", modulus)
# Comparison operators
is_equal = (x == y) # Checks if x is equal to y
is_greater = (x > y) # Checks if x is greater than y
print("Is Equal:", is_equal)
print("Is Greater:", is_greater)
# Logical operators
a = True
b = False
result_and = a and b # True only if both a and b are True
result_or = a or b # True if at least one of a or b is True
result_not = not a # True if a is False
print("AND result:", result_and)
print("OR result:", result_or)
print("NOT result:", result_not)
# Operator precedence
result = x + y * 2 # Multiplication happens before addition
print("Result with precedence:", result)
הסבר הקוד
אופרטורים אריתמטיים (Arithmetic Operators):
- ביצענו פעולות חיבור, חיסור, כפל, חילוק, ומודולו (שארית) בין שני משתנים
x
ו-y
. - לדוגמה,
x + y
מחשב את הסכום של שני המשתנים. - ישנה פעולה אחת פחות שגרתית פה והיא פעולת המודול המבוצעת על ידי סימן %. משמעות הפעולה היא הבאת השארית של פעולת החלוקה. למשל 10 לחלק לשלוש. החלק השלם הוא 3 והשארית היא 1. פעולת % תחזיר את המספר 1.
אופרטורים להשוואה (Comparison Operators):
- השווינו בין הערכים של
x
ו-y
כדי לבדוק אם הם שווים (x == y
) ואםx
גדול מ-y
(x > y
). - התוצאות הן ערכים לוגיים (
True
אוFalse
).
אופרטורים לוגיים (Logical Operators):
- השתמשנו באופרטורים לוגיים כדי לשלב או לבדוק תנאים:
and
: מחזירTrue
רק אם שני התנאים נכונים.or
: מחזירTrue
אם לפחות אחד מהתנאים נכון.not
: הופך את הערך הלוגי (אם זהTrue
, הוא יהפוך ל-False
ולהיפך).
קדימות אופרטורים (Operator Precedence):
- בפייתון, פעולות מסוימות מתבצעות לפני אחרות. לדוגמה, כפל מתבצע לפני חיבור.
- בשורה
result = x + y * 2
, הפעולהy * 2
מתבצעת לפני הוספתx
.
תרגילים
תרגיל 1:
צרו שני משתנים, בצעו עליהם את כל הפעולות האריתמטיות (חיבור, חיסור, כפל, חילוק, מודולו), והדפיסו את התוצאות.
תרגיל 2:
כתבו תוכנית שמשווה בין שני מספרים שהוזנו על ידי המשתמש ובודקת אם הם שווים או אם המספר הראשון גדול יותר.
תרגיל 3:
השתמשו באופרטורים לוגיים כדי לבדוק אם אחד מהמשתנים נכון (True) והשני שקרי (False).
תרגיל 4:
כתבו ביטוי שמשתמש בקדימות אופרטורים, והסבירו כיצד פייתון חישב את התוצאה.
תרגיל 5:
אתגר: בקשו מהמשתמש להכניס שלושה מספרים, ובדקו אם המספר הראשון קטן מהשני וגדול מהשלישי.
הפרויקט הגדול: משחק הטריוויה
בשלב הזה, נשתמש באופרטורים להשוואה ולוגיים כדי לבדוק אם תשובת השחקן נכונה.
שלב בפרויקט:
# Quiz Game - Adding a question
print("Welcome to the Quiz Game!")
# Ask for the player's name
player_name = input("What is your name? ")
print("Hello,", player_name, "let's start!")
# First question
print("Question 1: What is 2 + 2?")
answer = int(input("Your answer: ")) # Convert the input to an integer
# Check if the answer is correct
if answer == 4:
print("Correct!")
else:
print("Wrong! The correct answer is 4.")
הסבר:
- השתמשנו באופרטור השוואה (
==
) כדי לבדוק אם התשובה של השחקן שווה ל-4. - אם התנאי מתקיים, הדפסנו "Correct!", אחרת הדפסנו "Wrong!".
- הפונקציה
int()
הופכת את התשובה ממחרוזת למספר כדי שנוכל לבצע את ההשוואה. - עוד לא דיברנו על if, זה יהיה בשיעור הבא, אבל בכל מקרה if בודק תנאי. אם התנאי מתקיים, מתבצעת הפעולה שאחרי ה-if אחרת מתבצעת הפעולה שאחרי ה-else.
נסו להוסיף עוד שאלה לשחקן ולבדוק את נכונות התשובה. הציגו בפני השחקן שאלה וארבע תשובות. השחקן צריך להכניס את מספק התשובה הנכונה לדעתו ולקבל חיווי על התשובה.