OR לוגי
תכנות הוא תערובת של מתמטיקה, לוגיקה ועוד הרבה תחומים. כדי לפתור כל בעיה במתמטיקה, מספר לימוד ועד בזמן אמת, אנו זקוקים לאופרטורים של חיבור, חיסור, כפל וחילוק. אלו הם האופרטורים הבסיסיים הדרושים במתמטיקה. באופן דומה, כדי לבצע כל פעולה על משתנים או ערכים, לפייתון יש 7 סוגי אופרטורים, וכל אחד מהם שימושי. בין אלו, ' אוֹ' הוא אחד האופרטורים ב-Python, והוא שייך לאופרטורים לוגיים.
אופרטורים לוגיים עוסקים בעיקר צורכי קבלת החלטות . ישנם שלושה אופרטורים תחת אופרטורים לוגיים:
מאמר זה דן באופרטור OR עם דוגמאות להבנה ברורה.
בסיסי:
בשפות כמו C ו-Java, '||' מייצג את האופרטור OR, אבל ב-Python, אנחנו אומרים ' אוֹ ללא שימוש בסמל מיוחד.
תחביר: a או b
מודל התייחסות של osi ברשתות
ערך החזרה: אופרטור זה מחזיר את 'True' או 'False', בהתאם לאופרנדים.
- אם שני האופרנדים/הביטויים משני צדי האופרטור הם שקריים, הוא חוזר שֶׁקֶר .
- אם לפחות אחד מהאופרנדים נכון או אם שניהם נכונים, הוא חוזר נָכוֹן .
סיפור האמת למפעיל 'OR':
ביטוי 1 | ביטוי 2 | (ביטוי 1 וביטוי 2) מחזיר: |
---|---|---|
נָכוֹן | נָכוֹן | נָכוֹן |
נָכוֹן | שֶׁקֶר | נָכוֹן |
שֶׁקֶר | נָכוֹן | נָכוֹן |
שֶׁקֶר | שֶׁקֶר | שֶׁקֶר |
צורך במפעיל OR:
נניח שאנחנו צריכים מספר; אם הוא חיובי, הוא חייב להיות גדול מ-20; אם הוא שלילי, הוא חייב להיות פחות מ-20. כדי לעמוד בתנאים האלה, אם נכתוב את הקוד באמצעות הצהרות מותנות:
num = int (input ('Enter a number: ')) if (num 20): print ('True') else: print ('False')
תְפוּקָה:
הֲבָנָה:
בקוד למעלה,
- ראשית, נבדוק אם המספר שלילי וקטן מ-20. אם זה נכון, תנאי אחד נכון, אז אנחנו לא צריכים לבדוק את התנאי הבא, אז אנחנו מדפיסים 'נכון'.
- אם זה לא נכון, אזי בלוק ה-elif יתבצע, ויבדוק אם המספר חיובי וגדול מ-20. אם תנאי זה נכון, אז הוא מדפיס 'True'.
- אם גם if וגם elif הם שקר, אזי בלוק else יתבצע כדי להדפיס 'False'.
- כתיבת הקוד לעיל רק באמצעות האופרטור 'OR':
אנחנו יכולים לבדוק את שני התנאים בבת אחת בשורה אחת.
num = int (input ('Enter a number: ')) if (num 20): print ('True') else: print ('False')
תְפוּקָה:
- השימוש ב'או' הופך את הקוד לפשוט, קריא ומקטין את אורך הקוד.
הבה ניקח דוגמה נוספת עם יישום בזמן אמת:
נניח שאתה מארגן תחרות קידוד לסטודנטים ב-b-tech ו-m-tech; כדי שכל סטודנט ייקח חלק, הוא צריך להיות סטודנט בטכנולוגיה או סטודנט בטכנולוגיה. כל אדם שאינו סטודנט ל-b.tech או m.tech אינו רשאי להשתתף בתחרות. לכן, עלינו לבדוק אם לפחות תנאי אחד נכון.
קוד:
חיתוך מיתרי ג'אווה
name = input ('Please enter the participant's name: ') course = input ('Please enter the course the participant's studying Please enter the name of the course in capital letters without spaces or other characters in between like BTECH and MTECH: ') if (course == 'BTECH' or course == 'MTECH'): print ('Congratulations!, You are eligible for the competition') else: print ('Only students in B-Tech and M-Tech are allowed to the competition. Sorry! We can't enroll you in')
תְפוּקָה:
'או' עם שני מספרים בלבד:
הבה נראה כעת מה קורה אם ניתן שני מספרים שלמים עשרוניים משני צדי האופרטור 'או':
תְנַאִי מוּקדָם: בדרך כלל, 'או' בודק אם אופרנד אחד לפחות הוא True. כל מספר גדול מ-0 מייצג נכון, ו-0 מייצג לא נכון.
num1 = int (input ('Enter a number: ')) num2 = int (input ('Enter another number: ')) print (num1 or num2)
פלטים לדוגמה:
הֲבָנָה:
- במקרה הראשון:
- שני המספרים גדולים מה-0 - מצב נכון או נכון . לפיכך, 'או' מחזירה True.
- התנאי של 'או' הוא שלפחות אופרנד אחד חייב להיות True. לפיכך, לאחר אישור שהמספר הראשון-4 (>0) נכון, מבלי לבדוק את המספר השני, הוא החזיר 'נכון' עם המספר הראשון.
- במקרה השני:
- המספר הראשון הוא 0-שקר; 'או' בודק את המספר השני, שהוא 1 (>0) - מצב לא נכון או נכון . החזרות
- במקרה השלישי:
- המספר הראשון הוא 0-שקר; 'או' בודק את המספר השני, שהוא שוב 0 - שקר או שקר . החזרות שֶׁקֶר .
- האופרטור 'או' מחפש את האופרנדים כדי למצוא 'אמת'. ברגע שהוא מוצא 'True', הוא מחזיר מיד True מבלי לבדוק את שאר האופרנדים. מצב זה נקרא ' הקצר ' או 'הערכה עצלנית'.
'או' עם מספר אופרנדים:
num1 = int (input ('Enter the first value: ')) num2 = int (input ('Enter the second value: ')) num3 = int (input ('Enter the third value: ')) print (num1 or num2 or num3)
פלטים לדוגמה:
הֲבָנָה:
גרסאות אנדרואיד
זה אותו דבר כמו שיש שני אופרנדים. 'או' בודק 'נכון', ואם הוא מוצא אחד, הוא מחזיר 'נכון', ואם הוא לא מוצא לפחות נכון אחד, הוא מחזיר 'שקר'.
OR (|):
יש עוד אופרטור 'או' בפייתון. זה אופרטור ביטחוני. אנו מייצגים אותו בתור '|'. שניהם נקראים אופרטורים 'או'. כעת, הבה נראה את ההבדל בין שני האופרטורים:
שפה בינארית היא שפת המחשב. כל המנגנונים הפנימיים קורים לגבי ביטים. אופרטורים Bitwise הם קבוצת האופרטורים המאפשרים למתכנת לבצע פעולות Bitwise על מספרים שלמים. ישנם שישה אופרטורים סיביים:
- Bitwise AND
- Bitwise OR
- קצת לא
- Bitwise XOR
- העברה ימינה חלקית
- העברה שמאלה באופן חלקי
ההבדל בין (לוגי או, bitwise or), (logical and, bitwise and), (לוגי לא, bitwise not) טמון בשמותיהם.
- אם נשתמש באופרטור סיביות כלשהו, ראשית, ה- מספר שלם מומר לביטים בינאריים , ולאחר מכן המפעיל יבצע את הפעולה בהדרגה .
- כאן, 1 מייצג נכון, ו-0 מייצג לא נכון .
- לאחר הפעולה, המספר הבינארי יומר לעשרוני ויוחזר כפלט.
הפעולה של bitwise או:
פקודת cp בלינוקס
המספרים השלמים הנתונים מומרים לסיביות (בינאריות), והאופרטור יפעל על כל סיביות תואמת של שני המספרים.
סיביות 1 (אופרנד 1) | ביט 2 (אופרנד 2) | ערך החזרה |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 1 |
0 | 1 | 1 |
ניקח דוגמה:
אם num1 = 3 ו-num2 = 4:
3 -> 011
4 -> 100
ביצוע |:
אם נבצע פעולות לוגיות או על 3 ו-4, נקבל True ו-3 יוחזר:
num1= int (input ('Enter a number: ')) num2 = int (input ('Enter another number: ')) print (num1 or num2) print (num1 | num2)
תְפוּקָה:
אלו הם שני האופרטורים 'או' הזמינים לשימוש בשפת Python.
OR לוגי לעומת Bitwise OR:
הגיוני או | קצת או |
הגיוני או מיוצג על ידי 'או'. | או מיוצג על ידי '|.' |
הוא מוגדר רק עבור ערכים בוליאניים; גם אם נשתמש בביטויים, הם יוערכו כ-True או False. | הוא מוגדר עבור ערכים שלמים כמו גם ערכים בוליאניים הדפס (נכון | לא נכון) -> נכון |
הוא מחפש ערך True, ואם הוא מוצא אחד, הוא לא מעריך את שאר הביטוי ומחזיר 'True'. תופעה זו נקראת ' הערכה עצלנית '. | גם אם האופרטור מוצא ערך True, הוא ממשיך להעריך את ביטויי השאר. |
מפעיל זה משמש בעיקר לקבלת החלטות ולבדיקת אמת. | אופרטורים של Bitwise מיועדים למניפולציות של סיביות ברמה נמוכה יותר. |
כל מספר גדול מ-0 מוערך כ'נכון' וכל מספר == 0 או<0 is evaluated as 'false'< td> | 1 מייצג 'נכון', ו-0 מייצג 'שקר'. | 0>
בהיררכיית האופרטורים, לאופרטורים של Bitwise יש עדיפות גבוהה יותר מהאופרטורים הלוגיים. |