mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-09-07 12:10:40 +02:00
zadanie na lab
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
def cypher(text, offset):
|
||||
n_text = ""
|
||||
for char in text:
|
||||
if char.isalpha() and char.islower():
|
||||
pos = ((ord(char) - ord('a') + offset) % 26) + ord('a')
|
||||
n_text += chr(pos)
|
||||
if char.isalpha() and char.isupper():
|
||||
pos = ((ord(char) - ord('A') + offset) % 26) + ord('A')
|
||||
n_text += chr(pos)
|
||||
return n_text
|
||||
|
||||
def decypher(text, offset):
|
||||
n_text = ""
|
||||
for char in text:
|
||||
if char.isalpha() and char.islower():
|
||||
pos = ((ord(char) - ord('a') - offset) % 26) + ord('a')
|
||||
n_text += chr(pos)
|
||||
if char.isalpha() and char.isupper():
|
||||
pos = ((ord(char) - ord('A') - offset) % 26) + ord('A')
|
||||
n_text += chr(pos)
|
||||
return n_text
|
||||
|
||||
def force_decypher(text):
|
||||
n_text = ""
|
||||
print("Możliwe wyniki: ")
|
||||
for offset in range(1, 26):
|
||||
print("Przesunięcie", offset, ":")
|
||||
for char in text:
|
||||
if char.isalpha() and char.islower():
|
||||
pos = ((ord(char) - ord('a') + offset) % 26) + ord('a')
|
||||
n_text += chr(pos)
|
||||
if char.isalpha() and char.isupper():
|
||||
pos = ((ord(char) - ord('A') + offset) % 26) + ord('A')
|
||||
n_text += chr(pos)
|
||||
print(n_text)
|
||||
n_text = ""
|
||||
print("------")
|
||||
|
||||
if __name__ == "__main__":
|
||||
tryb = input("Wybierz tryb:\ns - szyfrowanie\nd - deszyfrowanie\nf - siłowe odszyfrowanie\n")
|
||||
offset = 3
|
||||
match tryb:
|
||||
case "s":
|
||||
text = input("Podaj słowo do zaszyfrowania: ")
|
||||
print("Słowo przed zaszyfrowaniem: ", text)
|
||||
print("Aktualne przesunięcie: ", offset)
|
||||
print("Zaszyfrowane słowo: ", cypher(text, offset))
|
||||
case "d":
|
||||
text = input("Podaj słowo do odszyfrowania: ")
|
||||
print("Słowo przed odszyfrowaniem: ", text)
|
||||
print("Aktualne przesunięcie: ", offset)
|
||||
print("Odszyfrowane słowo: ", decypher(text, offset))
|
||||
case "f":
|
||||
text = input("Podaj słowo do odszyfrowania: ")
|
||||
force_decypher(text)
|
||||
case _:
|
||||
print("Niepoprawny wybór!")
|
||||
Reference in New Issue
Block a user