Задачи по JavaScript | JavaScript Camp
Теория это хорошо, но без практики как лететь с одним крылом, поэтому в этом разделе мы будем решать задачи по JavaScript. Задачи мы взяли с сайта Codewars — это сайт, где вы можете прокачать свои способности не только по JavaScript, но и по другим языкам программирования.
Найдите числа, которые делятся на заданное число
Завершите функцию, которая принимает два аргумента и возвращает все числа, которые делятся на данный делитель. Первый аргумент — это массив чисел, а второй — делитель.
Пример
divisibleBy([1, 2, 3, 4, 5, 6], 2) == [2, 4, 6]
Практика
function learnJavaScript() { const divisibleBy = (numbers, divisor) => { return » } return divisibleBy([1, 2, 3, 4, 5, 6], 2) }
Loading. ..
Ответ
Смотрите ответ только в том случае, если не смогли решить задачу сами.
В два раза старше
Ваша функция принимает два аргумента:
- текущий возраст отца (лет)
- текущий возраст сына (лет)
Подсчитайте, сколько лет назад отец был вдвое старше сына (или через сколько лет он будет вдвое старше).
Практика
function learnJavaScript() { const twiceAsOld = (dadYearsOld, sonYearsOld) => { return » } return twiceAsOld(36, 7) }
Loading…
Ответ
Считайте нечетные числа ниже
n
Если задано число n
, вернуть количество положительных нечетных чисел меньше n
, ЛЕГКО!
Пример
oddCount(7) //=> 3, i.e [1, 3, 5]
oddCount(15) //=> 7, i.e [1, 3, 5, 7, 9, 11, 13]
Практика
function learnJavaScript() { const oddCount = n => { return » } return oddCount(15023) }
Loading…
Ответ
Преобразуйте строку в число!
Нам нужна функция, которая может преобразовывать строку в число. Какие способы добиться этого вы знаете?
Примечание: не волнуйтесь, все входные данные будут строками, и каждая строка является вполне допустимым представлением целого числа.
Пример
stringToNumber('1234') == 1234
stringToNumber('605') == 605
stringToNumber('1405') == 1405
stringToNumber('-7') == -7
Практика
function learnJavaScript() { const stringToNumber = str => { return str } return stringToNumber(‘999’) }
Loading. ..
Ответ
Итого
Весь видео плейлист по этой теме можно посмотреть на нашем YouTube канале.
На татами в Codewars оденься в кимоно.
JavaScript теперь твое главное звено!
Проблемы?
Пишите в Discord или телеграмм чат, а также подписывайтесь на наши новости
Python. Средства преобразования строк и одиночных символов.
Средства преобразования строк и одиночных символов. Функции int(), str(), repr(), float(), ord(), chr()
Содержание
- 1. Функция int(). Преобразование в целое число
- 2. Функция str(). Преобразование в строку
- 3. Функция repr(). Преобразование в строку как литерал
- 4. Какое отличие между функциями repr() и str()?
- 5. Функция float(). Преобразование в число с плавающей запятой
- 6. Функции ord() и chr(). Преобразование кодов символов
- 7. Можно ли в Python сложить строку с числом?
- Связанные темы
Поиск на других ресурсах:
1.

Функция int() есть конструктором класса int. Эта функция возвращает целочисленный объект, который может быть образован из:
- целого числа или объекта;
- числа или объекта с плавающей запятой;
- строки символов или строчного объекта, содержащего последовательность цифр.
Функция может вызваться одним из двух способов:
- int() – в этом случае функция возвращает значение 0;
- int(x, base) – в этом случае обрабатывается объект x. Значение base определяет систему исчисления, в которую нужно конвертировать объект x. По умолчанию base = 10. Если явным образом задана система исчисления, то тип объекта x должен быть строчным, другие типы в этом случае запрещаются.
Пример.
# Функция int() # 1. Вызов без параметров a = int() # a = 0 # 2. Вызов с целочисленным значением a = int(15) # a = 15 # 3.Вызов с числом с плавающей запятой a = int(2.85) # a = 2 # 4. Вызов со строкой s = '28' a = int(s) # a = 28 # 5. Вызов с конвертированием в другую систему исчисления - только для строк # конвертировать 155 из 16-й системы в десятичную s = '155' a = int(s, 16) # a = 341, значение 155 в 16-й системе # конвертировать 111 из двоичной системы в десятичную s = '111' a = int(s, 2) # a = 7 # 6. Так нельзя # a = int(111,2) - ошибка, нельзя конвертировать число, должна быть строка
⇑
2. Функция str(). Преобразование в строку
Функция str() есть конструктором класса str. Функция возвращает объект в виде строки. Функция используется для конвертирования из одного типа (например числового) в строчный тип.
Функция имеет две реализации:
- str() – без параметров. В этом случае функция возвращает пустую строку;
- str(x) – с параметром x. Параметр x есть объектом некоторого типа.
Данный вызов может также содержать еще два дополнительных параметра, которые определяют систему кодирования (по умолчанию система кодирования устанавливается utf-8) и схему обработки ошибок (по умолчанию установлена схема вызова исключения типа UnicodeError).
Результат функции str() может использоваться для вывода в функции print().
Пример.
# Функция str() # 1. Вызов с целым числом x = 25 s = str(x) # s = '25' - строка символов # 2. Вызов с числом с плавающей запятой y = 2.338 s = str(y) # s = '2.338' # 3. Вызов со строкой s = str("3.778") # s = '3.778' # 4. Вызов со строкой, которая не отображает число s = str("abcdef") # s = 'abcdef' # 5. Вызов без параметров s = str() # s = ''
⇑
3. Функция repr(). Преобразование в строку как литерал
Функция repr() реализует преобразование в строку таким образом, если бы эта строка была литералом в программном коде.
Функция repr() может быть применена к:
- целым числам;
- числам с плавающей запятой;
- строкам символов.
Пример 1. Конвертировать целое число в строку, которая представлена литералом.
# Функция repr() # конвертировать целое число в строку number = 25 snumber = repr(number) # snumber = '25' - как строка символов number = -100029 snumber = repr(number) # snumber = '-100029' - как строка символов
Пример 2. Конвертировать в строку число с плавающей запятой.
# Функция repr() # конвертировать число с плавающей запятой в строку number = 25.233 snumber = repr(number) # snumber = '25.233' snumber = repr(-1e-2) # snumber = '-0.01'
Пример 3. Конвертировать строку символов в другую строку так если бы она была литералом.
# Функция repr() # конвертировать строку в строку s1 = 'Text string' s2 = repr(s1) # s2 = "'Text string'" s1 = "Text string" s2 = repr(s1) # s2 = "'Text string'"
Пример 4. Конвертирование кортежа.
# Функция repr() - обработка кортежа x = ( 2.85, 15, 'Hello') str_x = repr(x) # str_x = "(2.85, 15, 'Hello')"
⇑
4. Какое отличие между функциями repr() и str()?
В языке Python функции repr() и str() преобразуют произвольные объекты в их строчное представление.
Функция repr() возвращает представление строчного объекта в виде строки программного кода, которую можно выполнить чтобы воссоздать этот объект. Иными словами, функция repr() возвращает строку в виде строки. При использовании такого объекта в функции print() будут выведены ограничивающие строку кавычки (строка во вложенных кавычках).
В свою очередь, функция str() используется для конвертирования строки в строку без ее преобразования в предшествующую форму. При использовании результата функции str() в функции print() будет выведена обычная строка в одинарных кавычках.

Например.
# Функции repr() и str() # конвертировать строку в строку s1 = 'Text string' # функция repr() s2 = repr(s1) # s2 = "'Text string'" # функция str() s3 = str(s1) # s3 = 'Text string'
Как видно из вышеприведенного кода, функция repr() возвращает строку как литерал
"'Text string'"
а функция str() возвращает обычную строку
'Text string'
⇑
5. Функция float(). Преобразование в число с плавающей запятой
Функция float() возвращает число с плавающей запятой, которое может быть образовано от другого числа или от строки. Функция может вызываться одним из двух способов:
- float() – без параметра. В этом случае возвращается значение 0.0;
- float(x) – где параметр x задает число или строку, которую нужно конвертировать.
В качестве входного параметра или исходного результата функция может использовать грамматические символы:
- «Infinity» или «inf» – обозначают бесконечность.
Бесконечность может быть отрицательной: «-Infinity» или «-inf»;
- «nan» – обозначает неопределенность.
Пример.
# Функция float() - возвращает число с плавающей запятой # 1. Результат получается из числа a = 25 # целое число x = float(a) # x = 25.0 b = 21.555e-2 # число с плавающей запятой x = float(b) # x = 0.21555 # 2. Результат получается из строки # s = 'abcdef' - ошибка, строка не имеет вида числа # x = float(s) # строка в экспоненциальном формате s = '-1.23e-2' x = float(s) # x = -0.0123 # строка в обычном формате s = "288.75" x = float(s) # x = 288.75 - как число # использование в выражении x = float(5.2)+float(3.8)*float(-2.1) # x = -2.7799999999999994 # использование со знаком + x = float('+2.34') # x = 2.34 # использование со словом "Infinity" или "inf" x = float("Infinity") # x = inf x = float('-inf') # x = -inf - с отрицательным знаком # использование со словом "nan" x = float("nan") # x = nan x = float() # x = 0.0
⇑
6. Функции ord() и chr(). Преобразование кодов символов
Функции ord() и chr() используются для одиночных символов. Эти функции являются инверсными друг к другу.
Функция chr() позволяет получать символ на основе его кода. Функция ord() позволяет получить код на основе представления символа.
Общая форма вызова функции chr() следующая
c = chr(i)
где c – символьное представление символа с Unicode-кодом i.
Общая форма вызова функции ord()
i = ord(c)
где i – код символа c.
Пример.
# Функции chr() и ord() # 1. Функция chr() code = 49 # код в десятичной системе исчисления symbol = chr(code) # symbol = '1' - цифра '1' code = 100 symbol = chr(code) # symbol = 'd' code = 7785 symbol = chr(code) # symbol = 'ṩ' - кодирование Unicode # 2.Функция ord symbol = '5' code = ord(symbol) # code = 53 symbol = 'ṩ' code = ord(symbol) # code = 7785 symbol = ' ' # символ пробел code = ord(symbol) # code = 32
⇑
7. Можно ли в Python сложить строку с числом?
Нет, нельзя. Если нужно сложить число в форме строки, то для этого используется соответствующая функция преобразования. Если нужно сложить две строки (конкатенация строк), то число конвертируется в строку с помощью соответствующей функции.
Пример.
# Сложить строку с числом не получится s = '25' # это строка a = 30 # это число # Случай 1. Сложить (суммировать) два числа # Предварительно нужно конвертировать строку в число b = int(s) res = a + b print('As numbers: a + s = ', res) # Случай 2. Сложить две строки # Предварительно нужно конвертировать число в строку res_str = str(a) + s print('As strings: a + s = ', res_str)
Результат выполнения программы
As numbers: a + s = 55 As strings: a + s = 3025
⇑
Связанные темы
- Строки.
Общие понятия. Объявление строки. Операции над строками. Примеры
- Экранированные последовательности. Неформатированные строки. Многострочные блоки текста
- Доступ по индексам. Срезы. Получение фрагмента строки. Примеры
⇑
Преобразование массива в строку в JavaScript
Обзор
Первоначально javascript использовался только для создания веб-интерфейсов, но в настоящее время javascript является одним из самых популярных языков, используемых во многих областях. Массив и строка — одни из наиболее широко используемых контейнеров данных в Javascript.
Scope
В этой статье мы изучим
- Методы преобразования массива в строку.
- Как преобразовать строку в массив в javascript.
- Вложенные массивы и как преобразовать вложенные массивы в строки в javascript.
Введение
Массив в javascript используется для хранения нескольких элементов в одной переменной. Строка используется для хранения последовательности символов. Много раз мы сталкиваемся с ситуацией, когда нам нужно преобразовать массив в строку в javascript.
В javascript есть метод toString(), который используется для этой цели.
Преобразование массива в строку в Javascript (с использованием метода toString())
Чтобы преобразовать массив в строку в Javascript, мы просто применяем метод toString() к заданному массиву и получаем строковую версию наш массив. Внутренне javascript сначала преобразует каждый элемент в строку, а затем конкретизирует их, чтобы вернуть окончательную строку.
Давайте рассмотрим некоторые широко используемые преобразования.
Преобразование массива чисел в строку в Javascript
Код для преобразования массива чисел в строку будет следующим:
const IntArray = [1,2,3,4,5] IntArray.toString()
Вывод:
'1,2,3,4,5'
Как вы можете заметить в выводе, квадратные скобки заменены кавычками. Это указывает на то, что данный массив преобразуется в строку.
Преобразование массива строк в строки в Javascript
Код для преобразования массива строк в строки будет следующим:
const StringArray = ['Bill','Elon','Steve'] StringArray.toString()
Вывод:
«Билл, Илон, Стив»
Преобразование смешанных массивов (как чисел, так и строк) в строки в Javascript
Код для преобразования массива в строку javascript выглядит следующим образом:
const MixArray = ['Счет',2,3 ] MixArray.toString()
Вывод:
'Счет,2,3'
Преобразование строки обратно в массив в Javascript
Для этого не существует прямого метода. Но если мы внимательно посмотрим на данный сценарий, то заметим, что строка содержит все элементы массива, и если мы просто объединим все данные элементы в один массив, то мы можем получить наш массив обратно.
Знаете ли вы какой-нибудь метод в javascript, который можно использовать в этом случае?
В javascript есть метод, известный как split(), который разбивает строку на массив подстрок. Параметр, который мы передаем в функцию разделения, используется для разделения строки. Таким образом, если мы передадим ‘,’ в качестве параметра нашему методу разделения, то мы получим нужный нам массив.
Теперь давайте посмотрим код для приведенного выше сценария:
const MixArray = ['Bill',2,3 ] константная строка = MixArray.toString() const ans_array = string.split(',') console.log(ans_array)
Вывод:
['Счет', '2', '3']
Как видите, целочисленные значения также преобразуются в строку. Вот как работает метод разделения, он не может определить предыдущий тип строки.
Работа с вложенными массивами
Может быть ситуация, когда у нас есть массив внутри массива; такие массивы известны как вложенные массивы. Как преобразовать такой массив в строку? toString() сглаживает массив. Таким образом, все элементы массива, включая вложенные элементы массива, объединяются в один массив. И вот как мы получаем новый массив, в котором все элементы разделены запятой.
Давайте посмотрим на этот код:
const NestedArr = [1,"Стив",["Элон",2]] ВложенныйАрр.toString()
Вывод:
'1, Стив, Элон, 2'
В приведенном выше примере метод toString сглаживает массив, и все элементы массива, включая вложенные элементы массива, объединяются в один массив.
Заключение
- Мы можем преобразовать массив чисел и массив строк в строки, используя toString() .
- Мы также можем преобразовать вложенный массив в строку, используя toString() .
- А чтобы преобразовать строку обратно в массив, мы воспользуемся методом split() .
Как преобразовать двоичный код в текстовый в JavaScript и наоборот
Сегодня я немного опоздал. Вчера Дед Мороз устроил загул. Я не могу сказать вам, когда он вернулся! Он даже перепутал секретный код эльфов и больше не может расшифровывать их сообщения. К счастью или к сожалению, код шифрования довольно слаб. Настолько слаб, что для его расшифровки достаточно строчки кода.
Головоломка: Странное сообщение 📜
Сегодняшняя проблема, выпуск 9 Адвент-календаря разработчиков 🎅 — проблема преобразования двоичных чисел. Что такое двоичное число? Википедия объясняет это довольно хорошо:
Двоичное число — это число, выраженное в системе счисления с основанием 2 или в двоичной системе счисления, методе математического выражения, в котором используются только два символа: обычно «0» (ноль) и «1» (единица).
Преобразование чисел в разные основания
В двоичном числе цифры варьируются от 9 до0161 0 до 1
и ничего больше. Их всего двое, но они все. Начав с последовательности нулей и единиц, мы можем сделать компьютеры, интернет, все что угодно. Также пишите сообщения. Мы не привыкли читать двоичные числа, и это немного усложняет ситуацию. Мы должны преобразовать различные последовательности в систему счисления, с которой мы лучше справляемся, обычно в десятичную.
Существуют правила преобразования числа из одной системы счисления в другую. JavaScript предоставляет метод parseInt(). Этот метод принимает два аргумента:
- значение в строковом формате, представляющее число
- число, представляющее используемую систему счисления
parseInt()
возвращает значение, представленное строкой, в виде числа с основанием 10.
Возьмем пример:
Если, с другой стороны, я хочу выполнить обратный процесс, преобразовать десятичное число в число с другим основанием, я могу использовать метод Object.prototype.toString(). Я обнаружил, что всегда использовал его для преобразования строки в число, подразумевая, что число имеет основание 10. Этот метод принимает числовой аргумент. Аргумент указывает основу преобразования. На практике, чтобы написать пример выше, я использовал этот код:
Это результат:
Преобразование числа в текст
После решения задачи перевода чисел из одной системы счисления в другую остается вопрос: как преобразовать число в символ? Я могу использовать String.fromCharCode(). Этот метод принимает в качестве аргумента последовательность чисел от 0 до 65535 (0xFFFF), представляющую кодировку UTF-16 символов Юникода.
Короче говоря, каждое число между 0
и 65535
представляет отдельный символ. Метод fromCharCode()
позволяет преобразовать число в соответствующий символ. Его обратным является метод String.prototype.charCodeAt(): он преобразует символ в числовой код. Так что просто для игры я могу написать это:
Декодировать текст в двоичном формате
У меня есть все инструменты, необходимые для решения викторины. Единственная дополнительная сложность заключается в формате данных: они хранятся в файле
message.data
, который читается как многострочная строка.
Я создаю массив, используя String.prototype.split(). Мне приходится использовать регулярное выражение для обозначения символа новой строки, потому что оно отличается в Windows (которую я использую) и в Linux (используется GitHub для проверки правильности решения).
Я получаю такую функцию:
В качестве альтернативы я могу получить тот же результат с помощью аналогичной функции:
Несколько ссылок
Вот и все. Но перед закрытием хочу сообщить о двух интересных ссылках. Первая — аналогичная статья, написанная несколько месяцев назад Мехди Ауссиадом. Он называется «Как преобразовать двоичный код в текстовый в JavaScript» и сталкивается с той же проблемой. Это было очень полезно для меня.
Вторая статья посвящена тому, как преобразовать число из десятичной в двоичную (Convert Decimal to Binary): она не имеет строгого отношения к решению задачи, но все же интересна.