Einzelfunktionenexperimentierverzeichnis in git integriert
This commit is contained in:
58
EinzelfunktionenExperimentierbereich/rot123/rot123.py
Normal file
58
EinzelfunktionenExperimentierbereich/rot123/rot123.py
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/python3
|
||||
# -*- coding: utf8 -*-
|
||||
|
||||
BW = {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8, 'I': 9, 'J': 10, 'K': 11, 'L': 12, 'M': 13,
|
||||
'N': 14,
|
||||
'O': 15, 'P': 16, 'Q': 17, 'R': 18, 'S': 19, 'T': 20, 'U': 21, 'V': 22, 'W': 23, 'X': 24, 'Y': 25, 'Z': 26}
|
||||
UBW = {v: k for k, v in BW.items()}
|
||||
text = "12 34567890abc defghijklmnopqr, stuvwxyz5ABCDEFGHI JKLMNOPQRSTUVWXYZ"
|
||||
# 2468024680LOORTVXZBDFHJLNPRTVXZBDFHJLNPRTVXZBDFHJLNPRTVXZBDFHJ
|
||||
encoded_text = ""
|
||||
vz = 1 # verschiebezähler
|
||||
for i in text:
|
||||
if i.upper() not in BW:
|
||||
try:
|
||||
az = int(i)
|
||||
except:
|
||||
encoded_text += i
|
||||
else:
|
||||
ba = (az + vz) % 10
|
||||
encoded_text += str(ba)
|
||||
vz += 1
|
||||
else:
|
||||
b1 = BW[i.upper()]
|
||||
ba = (b1 + vz) % 26
|
||||
if ba == 0:
|
||||
ba = 26
|
||||
if i == i.upper():
|
||||
encoded_text += UBW[ba]
|
||||
else:
|
||||
encoded_text += UBW[ba].lower()
|
||||
vz += 1
|
||||
|
||||
text = encoded_text # zum überprüfen
|
||||
|
||||
decoded_text = ""
|
||||
vz = 1 # verschiebezähler
|
||||
for i in text:
|
||||
if i.upper() not in BW:
|
||||
try:
|
||||
az = int(i)
|
||||
except:
|
||||
decoded_text += i
|
||||
else:
|
||||
ba = (az - vz) % 10
|
||||
decoded_text += str(ba)
|
||||
vz += 1
|
||||
else:
|
||||
b1 = BW[i.upper()]
|
||||
ba = (b1 - vz) % 26
|
||||
if ba == 0:
|
||||
ba = 26
|
||||
if i == i.upper():
|
||||
decoded_text += UBW[ba]
|
||||
else:
|
||||
decoded_text += UBW[ba].lower()
|
||||
vz += 1
|
||||
print(encoded_text)
|
||||
print(decoded_text)
|
||||
Reference in New Issue
Block a user