"""Returns n strings, each of which consists of every nth character,
starting with the 0th, 1st, 2nd, ... (n-1)th character
- >>> every_nth(string.ascii_lowercase, 5)
- ['afkpuz', 'bglqv', 'chmrw', 'dinsx', 'ejoty']
+ >>> every_nth(string.ascii_lowercase, 5)
+ ['afkpuz', 'bglqv', 'chmrw', 'dinsx', 'ejoty']
>>> every_nth(string.ascii_lowercase, 1)
- ['abcdefghijklmnopqrstuvwxyz']
+ ['abcdefghijklmnopqrstuvwxyz']
>>> every_nth(string.ascii_lowercase, 26)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
"""
if one_based:
letter_number += 1
raw_cipher_number = (letter_number * multiplier + adder)
- cipher_number = 0
if one_based:
cipher_number = (raw_cipher_number - 1) % 26
else:
else:
alphabet_start = ord('a')
cipher_number = ord(letter) - alphabet_start
- if one_based:
- cipher_number += 1
- plaintext_number = 0
if one_based:
- plaintext_number = (modular_division_table_one_based[multiplier][(cipher_number - adder + 26) % 26] - 1) % 26
+ plaintext_number = (modular_division_table_one_based[multiplier][(cipher_number + 1 - adder + 26) % 26] - 1) % 26
else:
- #plaintext_number = (modular_division_table[multiplier][cipher_number] - adder) % 26
plaintext_number = modular_division_table[multiplier][(cipher_number - adder + 26) % 26]
return chr(plaintext_number + alphabet_start)
else: