-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
64 lines (53 loc) · 1.76 KB
/
main.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from reed_solomon_code.ReedSolomonCode import ReedSolomonCode
def encode(encoder):
"""
:type encoder: ReedSolomonCode
"""
message = input('Wprowadzaj kolejne symbole oddzielone spacją: ')
symbol_message = list(map(int, message.split(' ')))
try:
result = encoder.encode_symbol_array_message(symbol_message)
print('Zakodowana wiadomość:', result)
except Exception:
print('Wiadomosc jest niekodowalna')
def decode(decoder):
"""
:type decoder: ReedSolomonCode
"""
message = input('Wprowadzaj kolejne symbole oddzielone spacją: ')
symbol_message = list(map(int, message.split(' ')))
try:
result = decoder.decode_message_array(symbol_message)
print('Odkodowania wiadomość:', result)
except Exception:
print('Wiadomosc jest niekorygowalna')
def createCoder():
mode = input('Wybierz tryb kodownaia: 4 / 8: ')
if mode != '4' and mode != '8':
print('Wybrano niewlaściwy tryb kodowania')
quit(-1)
t = input('Wybierz zdolnosc korekcyjną (t): ')
return ReedSolomonCode(int(mode), int(t))
def main():
print('Dekoder Reed-Solomon')
solomon = createCoder()
program = True
while program:
print('================================')
solomon.print_general_info()
print('1) Zakoduj wiadomosc')
print('2) Odkoduj wiadomosc')
print('3) Zmien parametry kodu')
print('4) Wyjdz')
option = input('Wybierz: ')
if option == '1':
encode(solomon)
elif option == '2':
decode(solomon)
elif option == '3':
solomon = createCoder()
elif option == '4':
program = False
else:
print('Nie ma takiej opcji')
main()