I have to write Vigenère cipher but I have a problem. How to modify code to get key which ignore space, enter, comma, etc?
def generateKey(string, key):
key = list(key)
x = []
if len(string) == len(key):
return (key)
else:
for i in range(len(string)):
x.append(key[i % len(key)])
return ("".join(x))
m = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua."
k = 'test'
key = generateKey(m,k)
print(key)
Input:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Output:
testtesttesttesttesttesttesttesttesttesttesttesttesttest
I want this:
testt estte sttes tes ttes, ttesttestte sttesttest test, tes tt esttest testte sttesttest testte st testte sttes ttestt.
Probably
str.isalphais what you need.To be more pythonic and avoid index manipulations, you can use
itertools.cycle:Note there's an error in your expected output (missing "t" in 4th word).