Я получаю ошибку «NameError: глобальное имя« y »не определено» при компиляции. Как исправить эту ошибку? - PullRequest
0 голосов
/ 18 октября 2019
import random
import sage
import numpy

def flip():
    if random.uniform(0,1) < 0.5:
      return 0
return 1

def a():
  L= [[6,0,0],[0,0,6],[0,6,0],[5,1,0],[1,5,0],[0,5,1],[0,1,5],[4,2,0],[4,0,2],[0,4,2],[0,2,4],[2,0,4],[2,4,0],[4,1,1],[1,1,4],[1,4,1],[3,3,0],[0,3,3],[3,0,3],[3,2,1],[1,2,3],[3,1,2],[2,1,3],[2,3,1],[1,3,2],[0,0,0],[0,0,1],[0,1,0],[1,0,0],[0,0,2],[2,0,0],[0,2,0],[0,0,3],[0,3,0],[3,0,0],[0,0,4],[0,4,0],[4,0,0],[0,0,5],[0,5,0],[5,0,0],[1,0,4],[1,0,3],[1,0,2],[1,0,1],[1,4,0],[1,3,0],[1,2,0],[1,1,0],[2,0,3],[2,0,2],[2,0,1],[2,3,0],[2,2,0],[2,1,0],[3,2,0],[3,1,0],[3,0,1],[3,0,2],[4,1,0],[4,0,1]];
  print(len(L));
  L6 = [m for m in L if sum(m)==6];
  print(len(L6));
  Lless =[m for m in L if m not in L6];
  print(len(Lless));
  S = [];
  for i in range(len(L6)):
    if flip():
      S.append(L6[i])
  if S == []:
    S=[L6[0]]
  for i in range (len(Lless)):
    if flip():
      S.append(Lless[i])
  P = [[ZZ.random_element(), m] for m in S]


  return sum([p[0]*x**p[1][0]*y**p[1][1]*z**p[1][2] for p in P])



print(a());
61
25
36
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-9a3fb37f35b2> in <module>()
     28   return sum([p[0]*x**p[1][0]*(y**p[1][1])*(z**p[1][2]) for p in P])
     29 
---> 30 print(a());""").strip()

<string> in <module>()

<string> in a()


NameError: global name 'y' is not defined
...