k=10
l=1
o=2
F=IntegerModRing(k)
R.<t>=F[]
K.<x>=R.quotient(t^o-1)
poly=((x+l)^k)-(x^k)-l
m=poly.list()
if(m!=0):

     print k

Это дает результат 10, как и должно

k=10
o=2
l=1        
F=IntegerModRing(k)
R.<t>=F[]
K.<x>=R.quotient(t^o-1)
poly=((x+l)^k)-(x^k)-l
m=poly.list()
        if(m!=0):
            print k

И это вообще не дает результата. Не знаю, в чем проблема. Практически не имею опыта работы с Python, который может быть проблемой.

0
Ayush Bhuyan 2 Июл 2016 в 14:42

2 ответа

Да это твоя проблема. Sage - это, по сути, Python, когда дело доходит до синтаксиса (некоторые дополнительные преимущества). В Python синтаксис - это пробел и отступ. Вы делаете отступ только после двоеточия (для таких вещей, как циклы, условия, определения). Вот несколько хороших мест для начала изучения базового Python:

0
kcrisman 2 Июл 2016 в 14:49

Оператор if не должен иметь отступа. Во втором примере это не сработает. В Python существуют строгие правила отступов. Вы можете сделать отступ только в том случае, если запущен новый блок кода. Оператор перед оператором if должен быть оператором цикла, условным оператором или определением функции / класса.

1
Mukherjee 2 Июл 2016 в 14:50