לוגיקה בוליאנית boolean

March 8, 2019

לוגיקה בוליאנית boolean

קשה לדמיין שפת תכנות בלי להשתכשך בלוגיקה בוליאנית שהתוצרים שלה הם נכון או לא נכון True או False והן נכתבות עם אותיות רישיות גדולות, ללמד על מעמדן המיוחד בפייתון.

 

 

x=2**3

print (x is 8)

 

>>>

True

 

בהתחלה אנו מציבים ב x את הערך 8 (2 בחזקת 3) ולאחר מכן שואלים את התוכנה האם x הוא 8  והתשובה הלא מפתיעה שלה היא שההיגד הזה (x is 8 ) הוא נכון True.

 

x=2**3

print (x == 7)

 

>>>

False

 

ההיגד x שווה ל- 7 אינו נכון ולכן נקבל False .

פייתון יודעת גם להתייחס בהקשר המתאים ל- True כ- 1 ול – False כ- 0 –

 

 

print (True * 5)

 

>>>

5

 

וקצת נתחכם -

 

 

print (0==False)

 

>>>

True

 

 

print (0 is False)

 

>>>

False

למעלה אנו יכולים לראות את האבחנה בין is ל- ==. אפס שווה מתמטית לערך של false אבל הם טיפוסים שונים ולכן אין זהות ביניהם.

אחד השימושים הוא יצירת לולאה אינסופית באמצעות הביטוי while True שתופסק בהמשך באמצעות רק באמצעות תנאי ופקודת break -

 

n=0
while True:
    if n==5:
        break
    else:
        print (n)
        n+=1

>>>

0

1

2

3

4

ראשית יצרנו משתנה n מחוץ ללולאה אשר בכל סיבוב גדל ב- 1. לאחר מכן יצרנו לולאה אינסופית שנשברת רק כאשר n שווה ל- 5.

הניסוח שלמעלה מבלבל מעט – כי הפירוש המילולי של while True הוא "כל זמן שנכון" אז... – מה נכון ? כל זמן שהביטוי True הוא נכון (והוא תמיד נכון מכוח הגדרתו) הלולאה תמשיך לרוץ, כלומר לנצח אם לא יהיה משהוא אחר שיעצור אותה כמו break.

Please reload

Please reload

רעננו את הדף והקליקו למעבר לנושא הבא: