אופרטורים בסיסיים

אופרטורים הם הסמלים שאנו משתמשים בהם כדי לבצע פעולות על ערכים ומשתנים. בפייתון ישנם כמה סוגים מרכזיים של אופרטורים:

  1. אופרטורים אריתמטיים (Arithmetic): משמשים לביצוע חישובים מתמטיים, כמו חיבור, חיסור, כפל וחילוק.
  2. אופרטורים להשוואה (Comparison): משווים בין ערכים ומחזירים ערך לוגי (True/False).
  3. אופרטורים לוגיים (Logical): משמשים לביצוע פעולות לוגיות כמו "וגם" (AND), "או" (OR), ושלילה (NOT).
  4. קדימות אופרטורים (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.

נסו להוסיף עוד שאלה לשחקן ולבדוק את נכונות התשובה. הציגו בפני השחקן שאלה וארבע תשובות. השחקן צריך להכניס את מספק התשובה הנכונה לדעתו ולקבל חיווי על התשובה.