Задача 2: The Hidden Word/Скрытое слово

05.05.2020

«Основы программирования: ЯП Python»

Год обучения

Групповая работа

Тема: Total Commander. главное меню Команды, Сеть, Настройка. Повторение курса программирования

Цель: продолжитьзнакомство с главным меню Total Commander.

Задачи обучающие:

· продолжитьзнакомство с главным меню Total Commander;

· повторение курса программирования

· систематизировать знания обучающихся по данной теме;

· закрепить знания, полученные на предыдущих уроках;

Задачи развивающие:

· развивать умения использовать знания, полученные на уроках информатики, в учебной деятельности;

· развивать логическое мышление, умение обобщать, сопоставлять и применять полученные знания на практике;

· развивать познавательную деятельность обучающихся, развивать умение анализировать происходящие изменения в решении задач;

· развивать познавательный интерес, творческую активность, интеллект;

· развивать интуицию, эрудицию, самостоятельность в суждениях, упорство в достижении цели;

· формирование информационной культуры и потребности приобретения знаний;

· стимулирование познавательного интереса обучающихся по данной теме и дисциплине Информатика и ИКТ в целом.

Задачи воспитательные:

· воспитание творческого подхода к работе, желания экспериментировать;

· профессиональная ориентация и подготовка к трудовой деятельности;

· воспитание информационной культуры, самостоятельности, ответственности;

· развивать культуру общения, воспитывать внимание, сообразительность, находчивость.

ХОД УРОКА

Теория

1) Главное меню Команды: https://www.youtube.com/watch?v=zl6GaDKcJrU
https://www.youtube.com/watch?v=EL9AtihLW0I
Главное меню Настройка: https://www.youtube.com/watch?v=NhMEqvDeKYQ
https://www.youtube.com/watch?v=dg2lY4JwTc4

 

2) Повторение курса программирования

Решение задачи. https://py.checkio.org/en/mission/remove-accents//

Предполагая, что вы разрабатываете пользовательскую систему, такую как facebook, вы захотите предоставить функциональность для поиска других пользователей независимо от наличия акцентов в имени пользователя. Не используя стороннюю библиотеку сортировки, вам нужно будет удалить акценты из имени пользователя перед сравнением.

Ввод: фраза в виде строки (unicode).

Вывод: строка Unicode без акцента.

Как он используется: это может быть частью процесса проверки имени пользователя или системы, которая предлагает имя пользователя на основе имени и фамилии пользователя.

Предварительное условие: 0 ≤ |input| ≤ 40

Решение:

import unicodedata

 

def checkio(in_string):

"""remove accents"""

 

nfkd_form = unicodedata.normalize('NFKD', in_string)

out_string = nfkd_form.encode('ASCII', 'ignore')

out_string=out_string.decode("utf-8")

   

if len(out_string) == 0:

   return in_string

return out_string

 

#These "asserts" using only for self-checking and not necessary for auto-testing

if __name__ == '__main__':

assert checkio(u"préfèrent") == u"preferent"

assert checkio(u"loài trăn lớn") == u"loai tran lon"

assert checkio("完好無缺") == "完好無缺"

print('Done')

 




Задача 2: The Hidden Word/Скрытое слово

Никола решил эту загадку (и я уверен, что вы справитесь с ней так же хорошо). Чтобы быть готовым к большему количеству таких головоломок, Никола хочет изобрести метод поиска слов внутри поэзии. Вы можете помочь ему создать функцию для поиска определенных слов.

Вам дается рифма (многострочная строка), в которой строки разделяются "новой строкой" (\n). Оболочка не имеет значения для вашего поиска, но пробелы должны быть удалены перед вашим поиском. Вы должны найти слово внутри рифмы в горизонтальных (слева направо) или вертикальных (сверху вниз) строках. Для этого вам нужно представить рифму в виде матрицы (2D массива). Найдите координаты слова в вырезанной рифме (без пробелов).

Результат должен быть представлен в виде списка -- [row_start, column_start,row_end, column_end], где

row_start - это номер строки для первой буквы слова.

column_start - это номер столбца для первой буквы слова.

row_end - это номер строки для последней буквы слова.

column_end - это номер столбца для последней буквы слова.

Подсчет строк и столбцов начинается с 1.

Ввод: два аргумента. Рифма как строка и слово как строка (строчные буквы).

Вывод: координаты слова.

Пример:

checkio(u"""DREAMING of apples on a wall,

And dreaming often, dear,

I dreamed that, if I counted all,

-How many would appear?""", u"ten") == [2, 14, 2, 16]

checkio("""He took his vorpal sword in hand:

Long time the manxome foe he sought--

So rested he by the Tumtum tree,

And stood awhile in thought.

And as in uffish thought he stood,

The Jabberwock, with eyes of flame,

Came whiffling through the tulgey wood,

And burbled as it came!""", "noir") == [4, 16, 7, 16]

Как он используется: эта задача показывает дисперсию позиционных шифров. С помощью этого шифра вы можете скрыть сообщение в книге, которая позволяет вам и получателю отправлять эти закодированные сообщения.

Предварительное условие: слово дается в нижнем регистре

 

Задача 3:   Conversion into CamelCase/Преобразовать в JavaScript

Ваша задача - написать функцию, которая преобразовывает текст (название другой функции) из формата, принятого в Python (my_function_name) в CamelCase, принятый в JavaScript (MyFunctionName), где первая буква каждого слова - большая/заглавная.

Входные данные: Название функции как строка

Output: То же самое название, но в CamelCase

Примеры:

to_camel_case("my_function_name") == "MyFunctionName"

to_camel_case("i_phone") == "IPhone"

to_camel_case("this_function_is_empty") == "ThisFunctionIsEmpty"

to_camel_case("name") == "Name"

Как это используется: Чтобы применять названия функций в том стиле, в каком они приняты в определенном языке (Python, JavaScript, и т.д.).

Предусловия:
0 < len(string) <= 100
Во входящих данных не будет чисел или пустых строк

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: