Не получается ожидаемый результат, когда 100 используется для расстояния / сдвига - PullRequest
0 голосов
/ 24 мая 2018

входы / выходы следующие: набор 1: «abcde» «128» ожидаемый выход / фактический выход «abcde» / «abcde»

набор 2: «abcde» «100» ожидаемый выход / фактическийвывод "EFGHI" / "« ¬®¯ "

набор 3:" Hello World "" 3 "ожидаемый выход / фактический выход" Khoor # Zruog "/" Khoor # Zruog "

Наборы1 и 3 возвращаются правильно, а 2 - нет.Я думаю, что это как-то связано с наборами символов, которые я пытаюсь использовать, но я не могу понять, как это исправить

plainText = input("Enter text to encrypt: ")
distance = int(input("Enter number of offset: "))
code = ""
for ch in plainText:
    distance %= 56
    ordValue = ord(ch)
    cipherValue = ordValue + distance
    if cipherValue > ord('z'):
        cipherValue = ord('a') + distance -(ord('z') - ordValue + 1)
    code = code + chr(cipherValue)
print("distance= ",distance)
print(code)

1 Ответ

0 голосов
/ 24 мая 2018

Мне может быть не совсем понятно, что вы хотите, но ИМХО, вы не правильно упаковываетесь.Это то, что вы пытаетесь сделать?(Это работает с примерами, которые вы предоставили.)

plainText = input("Enter text to encrypt: ")
distance = int(input("Enter number of offset: "))
code = ""
for ch in plainText:
    ordValue = ord(ch)
    cipherValue = (ordValue + distance) % 128
    code = code + chr(cipherValue)
print("distance= ",distance)
print(code)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...