שאלה לגבי תרגיל התרגול ביוטיוב

שלום רב,
בסוף התרגול (דקה 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, בלי להתחשב בתפוח.

3 לייקים