Guest User

Untitled

a guest
Mar 24th, 2019
46
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # coding: utf-8
  2.  
  3. klucz = "gaderypoluki"
  4. # tu klucz podany na sztywno - ale można wczytać od usera
  5.  
  6. substytucje = dict(zip(klucz[::2], klucz[1::2]))
  7. substytucje.update(zip(klucz[1::2], klucz[::2]))
  8. # tworzenie słownika 'w obie strony' na podstawie podanego klucza
  9. # pierwsze zip wstawia 'parzyste' znaki jako klucze słownika, a 'nieparzyste' jako wartości
  10. # a drugie zip - na odwrót
  11.  
  12. napis = "wypłynąłem na suchego przestwór oceanu"
  13. zaszyfrowane = ''.join(substytucje.get(l, l) for l in napis)
  14. # dict.get(key[,default]) returns the value for key if key is in the dictionary, else default.
  15. # If default is not given, it defaults to None
  16. # czyli jeśli znak 'l' jest kluczem w słowniku 'substytucje' to zwraca przypisaną do niego wartość,
  17. # a jeśli nie ma go w słowniku, to zwraca ten znak
  18.  
  19. # oczywiście powyżej nie ma obsługi małych / dużych liter itd, ale to szczegół
  20. print (zaszyfrowane)
RAW Paste Data