Logiczne LUB
Programowanie to mieszanka matematyki, logiki i wielu innych dziedzin. Aby rozwiązać dowolny problem matematyczny, od podręcznika po w czasie rzeczywistym, potrzebujemy operatorów dodawania, odejmowania, mnożenia i dzielenia. Są to podstawowe operatory potrzebne w matematyce. W podobny sposób, aby wykonać dowolną operację na zmiennych lub wartościach, Python ma 7 typów operatorów i każdy jest przydatny. Wśród nich, ' LUB' jest jednym z operatorów w Pythonie i należy do operatorów logicznych.
Operatorzy logiczni zajmują się głównie potrzeby podejmowania decyzji . W ramach operatorów logicznych znajdują się trzy operatory:
W tym artykule omówiono operator OR z przykładami ułatwiającymi jego zrozumienie.
Podstawowy:
W językach takich jak C i Java „||” reprezentuje operator OR, ale w Pythonie mówimy „ Lub ' bez użycia żadnego specjalnego symbolu.
Składnia: a lub b
Wartość zwracana: Operator ten zwraca wartość „True” lub „False”, w zależności od operandów.
- Jeśli oba operandy/wyrażenia po obu stronach operatora są fałszywe, funkcja zwraca FAŁSZ .
- Jeśli co najmniej jeden z operandów ma wartość true lub oba są prawdziwe, funkcja zwraca PRAWDA .
Prawdziwa opowieść o operatorze „OR”:
Wyrażenie 1 | Wyrażenie 2 | (Wyrażenie 1 i Wyrażenie 2) zwraca: |
---|---|---|
PRAWDA | PRAWDA | PRAWDA |
PRAWDA | FAŁSZ | PRAWDA |
FAŁSZ | PRAWDA | PRAWDA |
FAŁSZ | FAŁSZ | FAŁSZ |
Potrzebny operator OR:
Załóżmy, że potrzebujemy liczby; jeśli jest dodatnia, musi być większa niż 20; jeśli jest ujemna, musi być mniejsza niż -20. Aby spełnić te warunki, jeśli napiszemy kod za pomocą instrukcji warunkowych:
num = int (input ('Enter a number: ')) if (num 20): print ('True') else: print ('False')
Wyjście:
Zrozumienie:
W powyższym kodzie
- Najpierw sprawdzamy, czy liczba jest ujemna i mniejsza niż -20. Jeśli to prawda, jeden warunek jest prawdziwy, to nie musimy sprawdzać kolejnego warunku, więc wypisujemy „True”.
- Jeżeli nie jest to prawda, to zostanie wykonany blok elif sprawdzający, czy liczba jest dodatnia i większa od 20. Jeśli ten warunek jest spełniony, to wypisuje wartość „True”.
- Jeśli zarówno if, jak i elif mają wartość false, wówczas zostanie wykonany blok else w celu wydrukowania wartości „False”.
- Zapisanie powyższego kodu przy użyciu samego operatora „OR”:
Możemy sprawdzić oba warunki za jednym razem w jednej linii.
num = int (input ('Enter a number: ')) if (num 20): print ('True') else: print ('False')
Wyjście:
- Użycie „lub” sprawia, że kod jest prosty, czytelny i zmniejsza jego długość.
Weźmy inny przykład z aplikacją czasu rzeczywistego:
Załóżmy, że organizujesz konkurs kodowania dla studentów b-tech i m-tech; aby każdy student mógł wziąć udział, powinien być studentem b-tech lub m-tech. W konkursie nie może wziąć udziału osoba niebędąca studentem b.tech ani m.tech. Musimy więc sprawdzić, czy przynajmniej jeden warunek jest prawdziwy.
ciąg do rozmowy
Kod:
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')
Wyjście:
„lub” z tylko dwiema liczbami:
Zobaczmy teraz, co się stanie, jeśli po obu stronach operatora „lub” podamy dwie dziesiętne liczby całkowite:
Warunek wstępny: Ogólnie rzecz biorąc, „lub” sprawdza, czy co najmniej jeden operand ma wartość True. Każda liczba większa niż 0 oznacza prawdę, a 0 oznacza fałsz.
num1 = int (input ('Enter a number: ')) num2 = int (input ('Enter another number: ')) print (num1 or num2)
Przykładowe wyjścia:
Zrozumienie:
- W pierwszym przypadku:
- Obie liczby są większe od 0 - Warunek prawdziwy lub prawdziwy . Dlatego „lub” zwraca wartość True.
- Warunek „lub” jest taki, że co najmniej jeden operand musi mieć wartość True. Stąd po potwierdzeniu, że pierwsza liczba - 4 (>0) jest prawdziwa, bez sprawdzania drugiej liczby, wróciło „Prawda” z pierwszą liczbą.
- W drugim przypadku:
- Pierwsza liczba to 0 – fałsz; „lub” sprawdza drugą liczbę, która wynosi 1 (>0) - Warunek fałszywy lub prawdziwy . Zwroty
- W trzecim przypadku:
- Pierwsza liczba to 0 – fałsz; „lub” sprawdza drugą liczbę, która ponownie wynosi 0 - Fałsz lub fałsz . Zwroty FAŁSZ .
- Operator „lub” przeszukuje operandy w celu znalezienia „prawdy”. Gdy znajdzie wartość „True”, natychmiast zwraca wartość True bez sprawdzania pozostałych operandów. Stan ten nazywa się „ Zwarcie ' Lub „Leniwa ocena”.
„lub” z wieloma operandami:
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)
Przykładowe wyjścia:
Zrozumienie:
To to samo, co posiadanie dwóch operandów. „lub” sprawdza „prawdę” i jeśli ją znajdzie, zwraca „prawdę”, a jeśli nie znajdzie przynajmniej jednej prawdy, zwraca „fałsz”.
Bitowe LUB (|):
W Pythonie istnieje inny operator „lub”. Jest to operator bitowy. Reprezentujemy to jako „|”. Obydwa nazywane są operatorami „lub”. Zobaczmy teraz różnicę między tymi dwoma operatorami:
Język binarny to język komputera. Wszystkie wewnętrzne mechanizmy zachodzą w odniesieniu do bitów. Operatory bitowe to zbiór operatorów umożliwiających programiście wykonywanie operacji bitowych na liczbach całkowitych. Istnieje sześć operatorów bitowych:
- Bitowe AND
- Bitowe LUB
- Bitowe NIE
- Bitowy XOR
- Bitowe przesunięcie w prawo
- Bitowe przesunięcie w lewo
Różnica pomiędzy (logicznym lub, bitowym lub), (logicznym i, bitowym i), (logicznym nie, bitowym nie) leży w ich nazwach.
- Jeśli użyjemy dowolnego operatora bitowego, najpierw liczba całkowita jest konwertowana na bity binarne , a następnie operator wykona operację kawałek po kawałku .
- Tutaj, 1 oznacza prawdę, a 0 oznacza fałsz .
- Po operacji liczba binarna zostanie przekonwertowana na dziesiętną i zwrócona jako wynik.
Działanie bitowe lub:
Podane liczby całkowite są konwertowane na bity (binarne), a operator będzie operował na każdym odpowiadającym im bicie obu liczb.
Bit 1 (operand 1) | Bit 2 (operand 2) | Wartość zwracana |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 1 |
0 | 1 | 1 |
Weźmy przykład:
Jeśli liczba1 = 3 i liczba2 = 4:
3 -> 011
4 -> 100
Wykonywanie |:
Jeśli wykonamy logiczne lub na 3 i 4, otrzymamy True i 3 zostanie zwrócone:
num1= int (input ('Enter a number: ')) num2 = int (input ('Enter another number: ')) print (num1 or num2) print (num1 | num2)
Wyjście:
Oto dwa operatory „lub”, których można używać w języku Python.
Logiczne LUB vs bitowe LUB:
Logiczne lub | Bitowe lub |
Logiczne lub jest reprezentowane przez „lub”. | Bitowo lub jest reprezentowane przez „|”. |
Jest zdefiniowany tylko dla wartości logicznych; nawet jeśli użyjemy wyrażeń, zostaną one ocenione jako Prawda lub Fałsz. | Jest definiowany zarówno dla wartości całkowitych, jak i wartości logicznych Drukuj (Prawda | Fałsz) -> Prawda |
Wyszukuje wartość True i jeśli ją znajdzie, nie ocenia reszty wyrażenia i zwraca wartość „True”. Zjawisko to nazywa się „ Leniwa ocena '. | Nawet jeśli operator znajdzie wartość True, kontynuuje ocenę pozostałych wyrażeń. |
Operator ten jest najczęściej używany do podejmowania decyzji i testowania prawdy. | Operatory bitowe są przeznaczone do manipulacji bitami niższego poziomu. |
Każda liczba większa niż 0 jest oceniana jako „Prawda” i każda liczba == 0 lub<0 is evaluated as 'false'< td> | 1 oznacza „prawdę”, a 0 oznacza „fałsz”. | 0>
W hierarchii operatorów operatory bitowe mają wyższy priorytet niż operatory logiczne. |