Рубрики
Обучение Преподавание

Строки в программировании — невнимательность и кодировки

Начиналось все это совсем с другого текста. Но его я в итоге решил вынести в отдельную заметку, чтобы не путать смешное и серьезное. Поэтому смешное оставим на потом, а сегодня немного о серьезном.

А здесь должен был быть еще длинный текст о том, как я пришел в преподавание, сколько лет и что преподаю, но его я тоже решил вынести в отдельную простынь.

Поэтому здесь будет лишь краткое вступление.

Вступление

Кто-то знает, а кто-то нет, что я работаю преподавателем уже около 20 лет. Но в институте я преподаю право. Что слабо соотносится с тем, о чем пойдет речь ниже. Однако с 2019 года я создаю и поддерживаю различные курсы на Степике, в том числе, с осени 2020 года и курсы по программированию. За прошедшие годы накопилось много интересного опыта, собралось много наблюдений, было исправлено множество часто однообразных ошибок учащихся. На что-то можно было указать прямо в теории курсов, на что-то я писал развернутые комментарии под тем или иным шагом. Но многое остается у меня в голове и в тех решениях, которые никто не видит. Я долго шел к тому, чтобы попробовать все это проанализировать и как-то преобразовать во что-то полезное. Например, в заметки на этом сайте. Хочется верить, что эта заметка окажется первой ласточкой и дальше будет больше и интереснее.

С и C — это разные буквы для компьютера

Итак, начнем с ошибки, которую часто совершают начинающие обучаться программированию при работе со строками. Это ошибка связанная с путаницей между кириллицей и латиницей.

Учащиеся очень часто путают буквы кириллицы и латиницы. Человеку кажется, что они одинаковы и видит он их тоже одинаково. Но компьютер буквы (символы) воспринимает совсем иначе. И для него они могут отличаться.

Например, у нас есть два слова:

cop
сор

Визуально вам может показаться, что это одно и тоже слово. Однако для компьютера эти слова состоят из совершенно разных символов — верхнее написано на латинице, а нижнее на кириллице. А вот как их «видит» компьютер:

99 111 112
1089 1086 1088

Можете сами проверить.

Чаще всего ошибаются, когда первым символом в строке идет буква с. Человек начал набирать на английском, увидел на каком-то символе, что ошибся с раскладкой и убирает явно английские, но буква c ему кажется вполне русской и ее он оставляет. Однако, периодически бывают случаи, когда люди умудряются вставить латинский символ в середину кириллической строки. Это мне объяснить уже сложнее, но вот как-то получается. Так что будьте внимательны и не путайте символы кириллицы и латиницы. Или, если вам кажется, что правильный вывод в задаче со строками и вывод вашего решения совпадают — проверьте, не перепутали ли вы символы разных раскладок.

Если же вы уже прошли этап «перепутать с и c», то можете взглянуть на статью Абсолютный минимум об Unicode на 2023 год, чтобы понять, насколько глубока кроличья нора строк и кодировок. Беременным и людям со слабым сердцем по ссылке лучше не переходить и не пытаться во все это вникать) Я предупредил.

Рубрики
Программирование Разное

День Святого Валентина in code

Прочитал замечательную пятничную статью на Хабре и подумал, а ведь отличная идея, как совместить приятное с полезным. Конечно повторять описанное в оригинальной статье не хотелось, да и проблем с этим нет — языков то много (не так — ОЧЕНЬ много). В общем решил сделать что-то похожее, но используя языки программирования, которые не вошли в статью на Хабре.

Принцип аналогичный. Язык программирования и следом фрагмент кода, который выводит строку «I love you!». Так как самые известные языки уже были использованы в оригинальной статье, пришлось покопаться, выбирая что-то не сильно банальное в плане синтаксиса, и что-то осмысленное в плане названий. Ну и ограничится десятком примеров, чтобы не раздувать кодом статью до безобразия. Ну что, поехали?

Рубрики
Python Программирование

Python, FoxDot и музыка

Дело было вечером, делать было нечего. Листал я хабр, скучал. И наткнулся вот на эту статью:
Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня)

Дело в том, что музыку я пробовал «сочинять» (или – собирать?) на компьютере еще лет 15 назад, с помощью программы Dance eJay 4. С помощью набора семплов там можно было собирать различные мелодии. Ничего особенного, но мне тогда было очень интересно. И вот тут возможность совместить приятное с полезным, python с музыкой. Как же не попробовать 🙂

Итак, приступим к процессу установки, настройки и запуска чуда музыки в питоне под названием FoxDot.

Переходим по ссылке:
https://foxdot.org/installation/