ellinishe
Дек. 26, 2014 20:37:08
Завтра экзамен, нужно внести изменения в лабораторную, чтоб засчитали. Помогите пожалуйста, не шарю в питоне совсем…
Вот собственно исходное задание и код:
Напишите функцию, принимающую в качестве аргумента цифру сдвига (как ROT-13) и сообщение, а возвращающую закодированное сообщение >>> encrypt(13, “the cake is a lie”)
def encrypt(n, s):
result = “”
for ch in s:
if ch == “ ”:
result += “ ”
else:
result += chr(ord(ch) + n)
return result
s = input(“Введите строку: ”)
n = int(input(“Введите цифру сдвига: ”))
print(encrypt(n, s))
Что нужно сделать по индивидуальному заданию:
Сделать так, чтобы символы кодировались ключом, который каждый раз меняется на +2
0 1 2 3 4
z e b r a
1) z —-> с ключом 5
2) е —-> c ключом 7
3) b —-> с ключом 9
r —-> с ключом 11
a —-> с ключом 13
terabayt
Дек. 26, 2014 21:52:34
ну если я правильно понял задание, то как-то так
def encrypt(n, s):
result = ""
for ch in s:
if ch == " ":
result += " "
else:
result += chr(ord(ch) + n)
return result
s = input("Введите строку: ")
n = int(input("Введите цифру сдвига: "))
print(encrypt(n, s))
#все что ниже это уже индивидуальное задание
def id_task(s, k):
return ''.join([chr(ord(s[i]) + j) if s[i] != ' ' else ' ' for i, j in enumerate(range(k, (len(s)-1)*2+k+1, 2))])
print(id_task(s, n))
Isem
Дек. 30, 2014 19:41:02
NotDeadAlready
def encrypt_symbol(sym, key):
abc = False
if sym in ascii_lowercase:
abc = ascii_lowercase
elif sym in ascii_uppercase:
abc = ascii_uppercase
if abc:
sym = abc
return sym
возможно, ты хороший человек. Докажи тогда, что ты не дебил.
NotDeadAlready
Дек. 30, 2014 20:49:57
Я никому ничего не обязан доказывать. Тем более эмоционально и интеллектуально незрелому человеку, мыслящему в категориях детсадовского “взятия на слабо”. Кем ты меня считаешь - твое личное дело.
Посмотри вот это видео и почитай статью, может быть просветлеет в мозгах. Хотя вряд ли, конечно…
http://news.rambler.ru/25560518/http://www.youtube.com/watch?v=FcfDhRz8nUQНу и вот еще -
https://clck.ru/9PcuJ
4kpt_III
Дек. 30, 2014 21:07:32
NotDeadAlready
Я никому ничего не обязан доказывать.
Действительно не надо. Все и так всё поняли. Не тратьте свое и наше время зря. Да и говнокод плодить здесь тоже лишнее. Тут и так новички в темах жутняк пишут. А если еще таким же жутняком и начинают “эксперты” отвечать, то вообще становится тоскливо…
P.S. Это не иностранный форум по Си. Вы перепутали
NotDeadAlready
Дек. 30, 2014 21:49:47
Все и так всё поняли.
Ваши слова льются чудотворным бальзамом на мое израненное сердце. Хоть одному из 88% что-то стало понятно. Эдак их станет 87%, а там, глядишь, до уровня какой-нибудь Португалии дойдем. Лет через 200.
Если помните, я тут уже интересовался, как навсегда самовыпилиться отсюда. Мне так никто и не ответил.