add scripts
This commit is contained in:
parent
4eb18bbb87
commit
a2c1fa9666
|
@ -0,0 +1 @@
|
|||
dataoutput
|
|
@ -0,0 +1,36 @@
|
|||
import pickle
|
||||
fd = open("wordlist", "r")
|
||||
words = [i.rstrip() for i in fd.readlines()]
|
||||
print(words)
|
||||
|
||||
def generateOutput(inputword, correct):
|
||||
res = [0, 0, 0, 0, 0]
|
||||
for i in range(len(inputword)):
|
||||
if inputword[i] == correct[i]:
|
||||
res[i] = 2
|
||||
elif inputword[i] in correct:
|
||||
res[i] = 1
|
||||
|
||||
return tuple(res)
|
||||
|
||||
def probs(dataset):
|
||||
res = {}
|
||||
for i in dataset:
|
||||
if i in res:
|
||||
res[i] += 1
|
||||
else:
|
||||
res[i] = 1
|
||||
return res
|
||||
|
||||
data = {}
|
||||
|
||||
for i in words:
|
||||
data[i] = None
|
||||
cache = []
|
||||
for j in words:
|
||||
cache.append(generateOutput(i, j))
|
||||
print("cached {} {}".format(i, j))
|
||||
data[i] = probs(cache)
|
||||
|
||||
fdtwo = open("dataoutput", "wb")
|
||||
pickle.dump(data, fdtwo)
|
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
words = [i.rstrip() for i in open("wordlist", "r").readlines()]
|
||||
|
||||
nocontain = []
|
||||
contains = []
|
||||
defcontains = []
|
||||
|
||||
while True:
|
||||
line = input("? ")
|
||||
if line.split(' ')[0] == "add":
|
||||
# rules parser
|
||||
string = line.split(' ')[1]
|
||||
splitted = [(string[i:i+2]) for i in range(0, len(string), 2)]
|
||||
count = 0
|
||||
for i in splitted:
|
||||
if i[0] == "n":
|
||||
nocontain.append(i[1])
|
||||
print("\033[47;97m {} ".format(i[1]), end="")
|
||||
elif i[0] == "y":
|
||||
contains.append(i[1])
|
||||
print("\033[103;97m {} ".format(i[1]), end="")
|
||||
elif i[0] == "g":
|
||||
defcontains.append((i[1], count))
|
||||
print("\033[102;97m {} ".format(i[1]), end="")
|
||||
print("\033[0m")
|
||||
|
||||
count += 1
|
||||
elif line.split(' ')[0] == "reduce":
|
||||
buf = []
|
||||
for i in words:
|
||||
counter = 0
|
||||
status = 1
|
||||
for j in i:
|
||||
if status == 0: break
|
||||
try:
|
||||
req = [item[0] for item in defcontains if item[1] == counter][0]
|
||||
print(req)
|
||||
except:
|
||||
req = None
|
||||
if req != None:
|
||||
if req == j:
|
||||
counter += 1
|
||||
continue
|
||||
else:
|
||||
status = 0
|
||||
if j in nocontain:
|
||||
status = 0
|
||||
counter += 1
|
||||
for j in contains:
|
||||
if not j in i:
|
||||
status = 0
|
||||
if status == 1:
|
||||
buf.append(i)
|
||||
words = buf
|
||||
elif line.split(' ')[0] == "listbuffers":
|
||||
print(nocontain, contains, defcontains)
|
||||
elif line.split(' ')[0] == "words":
|
||||
print(words)
|
||||
|
Loading…
Reference in New Issue