Операторы в 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.
Другие вопросы по тегам