שלום רב,
בסוף התרגול (דקה 48 אני חושב) שאלת האם אפשר להכין עוגות פירות.
אני מבין את הקוד שכתוב:
is_fruit = ((“banana” in fruit) or ( “apple” in fruit))
השאלה שלי האם אפשר לכתוב
is_fruit = ((“banana” or “apple”) in fruit)
שלום רב,
בסוף התרגול (דקה 48 אני חושב) שאלת האם אפשר להכין עוגות פירות.
אני מבין את הקוד שכתוב:
is_fruit = ((“banana” in fruit) or ( “apple” in fruit))
השאלה שלי האם אפשר לכתוב
is_fruit = ((“banana” or “apple”) in fruit)
היי,
אי אפשר לכתוב את מה שהצעת.
הקדימות במקרה שהצעת תלך ל¯or (הביטוי שפייתון ינסה “לפתור” ראשון הוא "banana" or "apple"
), והוא יבצע משהו מוזר שלא למדנו עליו ונקרא lazy evaluation – התוצאה שהביטוי "banana" or "apple"
יחזיר תהיה “banana”.
בשלב הזה, הביטוי שלך שקול ל¯is_fruit = "banana" in fruit
, ולכן התוצאה למה שהצעת תהיה True אם המחרוזת banana נמצאת ב¯fruit, בלי להתחשב בתפוח.