Как использовать логический оператор в Python по сравнению с PHP в целых числах? - PullRequest
2 голосов
/ 04 августа 2020

У меня есть 2 блока кода,

test. php ->

$a = 90;
$b = 87;
$c = $a AND $b;
print_r($c);
----------------------
OUTPUT -->
----------------------
90

test.py - >

a = 90
b = 87
c= a and b
print(c)
----------------------
OUTPUT -->
----------------------
87

Теперь, как я понимаю, и PHP, и python при выполнении кода интерпретируют код до C на машинном уровне (который является родительским языком для обоих)

Тогда почему они оба ведут себя по-разному?

Что я здесь делаю не так?

Спасибо за ваше предложение.

1 Ответ

1 голос
/ 04 августа 2020

Код

$a = 90;
$b = 87;
$c = $a AND $b;

такой же, как (благодаря приоритету операторов):

$a = 90;
$b = 87;
($c = $a) AND $b;

Итак, вы просто назначаете $a на $c и $b ... Он ничего не делает.

Что касается кода python:

a = 90
b = 87
c = a and b
print(c)

Python iterpreter возвращает последнее значение if condition это True. Итак, c - это 87 . Если вы напишете

c = b and a
print(c)

, вы увидите 90 . Вау!

Итак, если вы хотите получить такие же результаты, коды должны быть:

$a = 90;
$b = 87;
$c = $a && $b;
var_dump($c);   // bool(true)

и:

a = 90
b = 87
c = bool(a and b)
print(c)        // True

Я предполагаю, что вы хотите это проверить обе переменные a и b истинны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...