Ну, сам курс можно просто прослушать и не платить за него, так что аргумент типа "это платно" не работает.
А по поводу Лутца... можно что-то акромя лутца, ну пожалуйста? Честно, я не любительница плавать в море, а оно у лутца просто огромное.
Вкратце: pop удаляет элемент по индексу (по дефолту это последний)
remove удаляет сам элемент, если он есть
del также удаляет сам элемент, но используется не только со списками
Animkim, Я и не делала скидку на "учебный код", как и не говорила, что это идеальный код. Но правда, делать строку документации на это... как минимум глупо, вот честно.
Кстати, давайте попробуем:
def rebuild_code(password):
"""функция шифрования"""
re_pass, pass_2_list = list(), list()
for i in password:
"""проход по чилам, обработка и добавление в re_pass"""
letter = ord(i)
j = Mode(letter)
re_pass.append(j)
for i in re_pass:
pass_2_list.append(chr(i))
"""перевод чисел в символы"""
return "".join(pass_2_list)
"""получение нового пороля"""
Код стал в разы читабельнее, понятнее, и вообще, будто сам боженька наш джизис поцеловал его.
А про коня, я специально уточнила, о какой именно задаче про коня вы говорили.
Не вижу смысла и дальше продолжать этот диалог, ибо кроме задачи про коня и обход доски, я ничего полезного от вас не узнала.
Animkim, А смысл увеличивать код? Все это шифрование идет через цифры и функции ord(), chr(). Зачем мне прописывать, даже не так, создавать копию функции, с разницей в одной строке? Ко всему прочему, это код ради практики, а не ради реального использования.
Про комменты. Ну это конечно вообще, придираться к тому, что человек делал для самого себя... Я че, эти функции собираюсь выкладывать на всеобщее использование? Нет, так и зачем мне замарачиваться со стоками документации, если __doc__ ни я, ни кто-либо ещё все равно применять не будет? Если коменты для вас - мусор, то для меня, как человека забывчивого, они помогают вспомнить что и зачем нужно.
Про коня. Это какая именно? Если та, что проверяет по начальным и конечным координатам, может ли конь попасть из А в Б, то это я уже делала. Скучная задача была...
Для того чтобы код было легче читать, когда постите его сюда, нужно было указать что это python в теге. Тогда была бы подсветка синтаксиса.
Сделала, кажется.
Спасибо за совет по коду.
А про проход, я сделала теперь так:
return "".join([chr(i) for i in re_pass])
Сделала генератор -> сократила 2 строки кода.
А, да, забыла сказать, как работает код.
1) Человек вводит пароль,
2) дальше пароль разбивается посимвольно,
3) все символы преобразуется в свое числовое представление,
4) полученные числа проходят через небольшую формулу в функции Mode
5) числа полученные после 4 шага переводятся в свое символьное представление
6) человек получает зашифрованные пароль.
stratosmi, Вам уже несколько человек написали это.
Да и в сумме уже 5 раз, если не больше. Смысл в этом? Да, знаю, я плохо сформулировала вопрос, не спорю, моя вина, однако, более 10 часов назад я все же добавила, что говорю о Си, как об инструменте для этих задач.
#Только пожалуйста, не нужно еще раз писать про "самое важное", ну правда...
Факт того, что для подобных целей акромя С, надо знать и кучу других вещей я это не отрицаю, но ведь нужно же знать ещё и то, с помощью чего эти цели можно воплотить в жизнь, и в этом вопросе я спрашиваю, как С показывает себя в качестве такого инструмента.
Это было написано в вопросе, так что я не понимаю, зачем уже в 4 раз (считая остальные ответы) мне пояснять это...
Александр, не спорю, но ведь надо (в данном случае) и уметь эти знания использовать в своих целях, а без какого-нибудь ЯП, это сделать трудно. А Си, в моем вопросе, это лишь вопрос по инструменту: хорош ли С в данный задачах или нет.
#Извиняюсь за тавтологию с "вопросами".
Знание устройства ПК, от знания Си у вас не появится.
Ну это и так понятно, однако много ли пользы, при такой задаче, даст знание одного лишь устройства ПК? Вряд ли, ведь зная, как он устроен, можно, например, мат. плату поменять, ничего не сломав при этом в самом ПК, но ОП от таких знаний ведь не напишешь.