|
1 | 1 | # Max Base |
2 | 2 | # https://github.com/BaseMax/PhdMathProject |
3 | 3 | import string |
| 4 | +import sys |
4 | 5 | data=[ |
5 | | - # [0,0,1], |
6 | | - # [0,1,0], |
7 | 6 | [0,1,1], |
8 | 7 | [1,0,0], |
9 | | - # [1,0,1], |
10 | | - # [1,1,0], |
11 | | - # [1,1,1], |
| 8 | + [1,0,1], |
12 | 9 | ] |
13 | | -data2=[] |
| 10 | +newData=[] |
14 | 11 | bits=3 |
15 | 12 | count=len(data) |
16 | | -countChild=len(data[0]) |
17 | | -isSingle=False |
| 13 | +countChild=0 |
| 14 | +if count > 0: |
| 15 | + countChild=len(data[0]) |
18 | 16 |
|
19 | | -if len(data) == 1: |
20 | | - isSingle=True |
21 | | -if isSingle: |
22 | | - count=1 |
| 17 | +print("Data size is: ", count) |
| 18 | +print("Data subitem size is: ", countChild) |
| 19 | + |
| 20 | +print("Data is: ", data) |
| 21 | + |
| 22 | +alphas=string.ascii_lowercase |
| 23 | +alphas=alphas[-3:] + alphas[0:-3] |
| 24 | +alphas=alphas[0:countChild] |
| 25 | +# alphas="xyz" |
| 26 | +print("Alpha is :", alphas) |
| 27 | +print("AlphaCount is :", len(alphas)) |
| 28 | +# print("AlphaIndex Search X is :", alphas.index("x")) |
| 29 | +# print("AlphaIndex Search Y is :", alphas.index("y")) |
| 30 | +# print("AlphaIndex Search Z is :", alphas.index("z")) |
23 | 31 |
|
24 | 32 | for x in range(1, count+1): |
25 | | - begin=x+1 |
26 | | - if isSingle: |
27 | | - begin=begin-1 |
28 | | - print(x, begin) |
29 | | - for y in range(begin, count): |
| 33 | + print() |
| 34 | + for y in range(x+1, count+1): |
30 | 35 | r=[] |
31 | | - print(countChild) |
| 36 | + print(x, y) |
| 37 | + print(data[x-1], data[y-1]) |
32 | 38 | for z in range(countChild): |
33 | | - print(x,y,z,z) |
34 | 39 | r.append(-1) |
35 | | - print(data[x][z], data[y][z]) |
36 | | - if data[x][z] == data[y][z]: |
37 | | - r[z]=data[x][z] |
38 | | - data2.append(r) |
| 40 | + if data[x-1][z] == data[y-1][z]: |
| 41 | + r[z]=data[x-1][z] |
| 42 | + # print(z, data[x-1][z-1], data[y-1][z-1], r[z]) |
| 43 | + # print(data[x-1][z-1], data[y-1][z-1], r[z]) |
| 44 | + print("result: ", r) |
| 45 | + newData.append(r) |
39 | 46 |
|
40 | | -print(data2) |
| 47 | +if newData == [] and count == 1: |
| 48 | + newData=data |
| 49 | + |
| 50 | +print("Checked Data is: ", newData) |
41 | 51 |
|
42 | | -alphas=string.ascii_lowercase |
43 | | -alphas="xyz" |
44 | 52 | formula=[] |
| 53 | +formulas=[] |
| 54 | +clearformulas=[] |
45 | 55 |
|
46 | | -for x in range(len(data2)): |
| 56 | +for x in range(len(newData)): |
47 | 57 | g=[] |
48 | | - for y in range(len(data2[0])): |
49 | | - if data2[x][y] == 0: |
| 58 | + for y in range(len(newData[0])): |
| 59 | + if newData[x][y] == 0: |
50 | 60 | g.append(alphas[y] + "'") |
51 | | - elif data2[x][y] == 1: |
| 61 | + elif newData[x][y] == 1: |
52 | 62 | g.append(alphas[y]) |
| 63 | + formulas.append(g) |
53 | 64 | if len(g) > 1: |
54 | 65 | formula.append(g) |
| 66 | + if len(g) >= 1: |
| 67 | + clearformulas.append(g) |
55 | 68 |
|
56 | | -print(formula) |
| 69 | +print("formula: ", formula) |
| 70 | +print("all formula: ", formulas) |
| 71 | +print("clear formula: ", clearformulas) |
57 | 72 |
|
58 | | -result=[] |
59 | 73 | line_edges=[] |
60 | 74 | dashed_edges=[] |
61 | 75 |
|
62 | | -for x in range(len(formula)): |
63 | | - formula[x].append(1) |
| 76 | +for x in range(len(clearformulas)): |
| 77 | + clearformulas[x].append(1) |
64 | 78 | for y in range(bits): |
| 79 | + if clearformulas[x][y-1] == 0 or clearformulas[x][y-1] == 1: |
| 80 | + break |
65 | 81 | try: |
66 | | - if formula[x][y][ len(formula[x][y]) -1] == "'": |
67 | | - formula[x][ len(formula[x]) -1]=0 |
| 82 | + if clearformulas[x][y-1][ len(str(clearformulas[x][y-1])) -1] == "'": |
| 83 | + clearformulas[x][ len(str(clearformulas[x])) -1]=0 |
68 | 84 | break |
69 | 85 | except IndexError: |
70 | 86 | continue |
71 | | - if formula[x][ len(formula[x]) -1] == 0: |
72 | | - dashed_edges.append(formula[x][:-1]) |
| 87 | + if clearformulas[x][ len(clearformulas[x]) -1] == 0: |
| 88 | + dashed_edges.append(clearformulas[x][:-1]) |
73 | 89 | else: |
74 | | - line_edges.append(formula[x][:-1]) |
| 90 | + line_edges.append(clearformulas[x][:-1]) |
| 91 | + |
| 92 | +print("Add bordertype to clearformulas: ", clearformulas) |
| 93 | + |
| 94 | +# if len(line_edges) != 0: |
| 95 | +# line_edges.append([line_edges[len(line_edges)-1][ len(line_edges[len(line_edges)-1]) -1], "1"]) |
| 96 | +# if len(dashed_edges) != 0: |
| 97 | +# dashed_edges.append([dashed_edges[len(dashed_edges)-1][ len(dashed_edges[len(dashed_edges)-1]) -1], "1"]) |
| 98 | + |
| 99 | +print("line edges: ", line_edges) |
| 100 | +print("dashed edges: ", dashed_edges) |
| 101 | + |
| 102 | +def toChild(value): |
| 103 | + return alphas.index(value) |
| 104 | + # return int(ord(value)) |
| 105 | + |
| 106 | +grapsLine=[] |
| 107 | +for i in range(len(line_edges)): |
| 108 | + if len(line_edges[i]) == 1: |
| 109 | + if len(line_edges) != 1: |
| 110 | + grapsLine.append((toChild(line_edges[i][0][0]), toChild(line_edges[i+1][0][0]))) |
| 111 | + else: |
| 112 | + print("Error: cannot find a edges to connect to this single edge to create a vertex!") |
| 113 | + if len(line_edges[i]) == 2: |
| 114 | + grapsLine.append((toChild(line_edges[i][0][0]), toChild(line_edges[i][1][0]))) |
| 115 | + |
| 116 | +# grapsLine=[(1,2), (1,2)] |
| 117 | +# grapsLine=[(1,2), (1,3), (1,4)] |
| 118 | + |
| 119 | +print("grapsLine: ", grapsLine) |
| 120 | + |
| 121 | +grapsDashed=[] |
| 122 | +for i in range(len(dashed_edges)): |
| 123 | + if len(dashed_edges[i]) == 1: |
| 124 | + if len(dashed_edges) != 1: |
| 125 | + grapsDashed.append((toChild(dashed_edges[i][0][0]), toChild(dashed_edges[i+1][0][0]))) |
| 126 | + else: |
| 127 | + print("Error: cannot find a edges to connect to this single edge to create a vertex!") |
| 128 | + if len(dashed_edges[i]) == 2: |
| 129 | + grapsDashed.append((toChild(dashed_edges[i][0][0]), toChild(dashed_edges[i][1][0]))) |
75 | 130 |
|
76 | | -print(formula) |
| 131 | +# dashed_edges=[(1,2), (1,2)] |
| 132 | +# dashed_edges=[(1,2), (1,3), (1,4)] |
77 | 133 |
|
78 | | -if len(line_edges) != 0: |
79 | | - line_edges.append([line_edges[len(line_edges)-1][ len(line_edges[len(line_edges)-1]) -1], "1"]) |
80 | | -if len(dashed_edges) != 0: |
81 | | - dashed_edges.append([dashed_edges[len(dashed_edges)-1][ len(dashed_edges[len(dashed_edges)-1]) -1], "1"]) |
| 134 | +print("dashed_edges: ", dashed_edges) |
82 | 135 |
|
83 | | -print(line_edges) |
84 | | -print(dashed_edges) |
| 136 | +# use grapsLine |
| 137 | +# use grapsDashed |
0 commit comments