Операторы в sage notebook против импорта из Python
Операторы ведут себя по-разному в зависимости от того, как я запускаю свою программу sage. в тетради:
2^10
==>1024
запустить мою программу с sage -python filename.py
:
from sage.all import *
print(2^10)
==> 8
Что мне нужно импортировать в Python, чтобы повторить поведение записной книжки Sage?
Редактировать:
Спасибо всем за базовые уроки Python. DSM ответил на этот вопрос в комментариях, оказывается, у Sage Notebook есть препроцессор.
1 ответ
В питоне для Exponentiation
мы используем двойную звездочку **
>>> print (2**10)
1024
ИЛИ вы можете использовать встроенную функцию Pow.
>>> pow(2, 10)
1024
бух
pow(...)
pow(x, y[, z]) -> number
With two arguments, equivalent to x**y. With three arguments,
equivalent to (x**y) % z, but may be more efficient (e.g. for longs).
enter code here
^
является побитовым оператором для выполнения XOR (bitwise exclusive or
) операция.
Например:
>>> a = [1,2,3]
>>> b = [3,4,5]
>>> a^b
>>> set(a)^set(b)
set([1, 2, 4, 5])
Does a "bitwise exclusive or".
Each bit of the output is the same as the corresponding bit in x if that bit in y is 0,
and it's the complement of the bit in x if that bit in y is 1.
Just remember about that infinite series of 1 bits in a negative number, and these
should all make sense.