-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEncoder.py
41 lines (34 loc) · 1.13 KB
/
Encoder.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
file = open("Input.txt")
string = file.read()
file.close()
decodeString = ""
decodeStringFrequency = []
for character in string:
if not character in decodeString:
decodeString += character
decodeStringFrequency += [1]
else:
decodeStringFrequency[decodeString.index(character)] += 1
newStrArr = list(decodeString)
while not decodeStringFrequency == sorted(decodeStringFrequency):
for i in range(len(decodeStringFrequency) - 1):
if decodeStringFrequency[i] > decodeStringFrequency[i + 1]:
decodeStringFrequency[i], decodeStringFrequency[i+1] = decodeStringFrequency[i+1], decodeStringFrequency[i]
newStrArr[i], newStrArr[i+1] = newStrArr[i+1], newStrArr[i]
newStrArr.reverse()
decodeString = "".join(newStrArr)
i = 1
array = []
for character in string:
array += [decodeString.index(character)]
Message = 0
for Power in range(len(array)):
Message += array[Power] * (len(decodeString) ** Power)
print(f"{decodeString}\n{Message}")
file = open("DecodeString.txt", "w")
file.write(decodeString)
file.close()
file = open("Message.txt", "w")
file.write(str(Message))
file.close()
input()