aufraeumen
This commit is contained in:
parent
36ababd961
commit
864cd4910a
@ -1,9 +0,0 @@
|
|||||||
def is_pangram(st):
|
|
||||||
letters_used = []
|
|
||||||
alphabet = set("abcdefghijklmnopqrstuvwxyz")
|
|
||||||
for letter in st.lower():
|
|
||||||
if letter in alphabet:
|
|
||||||
letters_used.append(letter)
|
|
||||||
if set(letters_used) == alphabet:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
class VigenereCipher(object):
|
|
||||||
def __init__(self, key, alphabet):
|
|
||||||
self.key = key
|
|
||||||
self.alphabet = alphabet
|
|
||||||
|
|
||||||
def encode(self, text):
|
|
||||||
len_text = len(text)
|
|
||||||
len_key = len(self.key)
|
|
||||||
|
|
||||||
if len_key < len_text:
|
|
||||||
new_key = (
|
|
||||||
self.key * (len_text // len_key) + self.key[: (len_text % len_key)]
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
new_key = self.key[:len_text]
|
|
||||||
|
|
||||||
new_text = []
|
|
||||||
|
|
||||||
for l_text, l_key in zip(text, new_key):
|
|
||||||
if l_text in self.alphabet:
|
|
||||||
if l_key in self.alphabet:
|
|
||||||
new_pos = (
|
|
||||||
self.alphabet.index(l_text) + self.alphabet.index(l_key)
|
|
||||||
) % len(self.alphabet)
|
|
||||||
else:
|
|
||||||
new_pos = self.alphabet.index(l_text)
|
|
||||||
new_text.append(self.alphabet[new_pos])
|
|
||||||
else:
|
|
||||||
new_text.append(l_text)
|
|
||||||
return "".join(new_text)
|
|
||||||
|
|
||||||
def decode(self, text):
|
|
||||||
len_text = len(text)
|
|
||||||
len_key = len(self.key)
|
|
||||||
|
|
||||||
if len_key < len_text:
|
|
||||||
new_key = (
|
|
||||||
self.key * (len_text // len_key) + self.key[: (len_text % len_key)]
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
new_key = self.key[:len_text]
|
|
||||||
|
|
||||||
new_text = []
|
|
||||||
|
|
||||||
for l_text, l_key in zip(text, new_key):
|
|
||||||
if l_text in self.alphabet:
|
|
||||||
if l_key in self.alphabet:
|
|
||||||
new_pos = (
|
|
||||||
self.alphabet.index(l_text) - self.alphabet.index(l_key)
|
|
||||||
) % len(self.alphabet)
|
|
||||||
else:
|
|
||||||
new_pos = self.alphabet.index(l_text)
|
|
||||||
new_text.append(self.alphabet[new_pos])
|
|
||||||
else:
|
|
||||||
new_text.append(l_text)
|
|
||||||
return "".join(new_text)
|
|
||||||
Loading…
x
Reference in New Issue
Block a user