Преобразование типов

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

В Python у каждой переменной есть тип. Например, "привет" — это строка, а 123 — это число. Язык Python является сильно типизированным, что означает строгое отношение к типам данных. Вы не можете просто сложить текст с числом, это вызовет ошибку.

Именно для таких ситуаций и существует преобразование типов. Это процесс изменения типа данных одного значения на другой. В этом уроке мы научимся использовать встроенные функции Python — `int()`, `float()`, `str()` и `bool()` — чтобы свободно конвертировать данные. Это ключевой навык при работе с пользовательским вводом, чтении данных из файлов или просто для выполнения математических операций. На этих заданиях вы отработаете базовые и более сложные случаи преобразования.

Список тем

Простое преобразование строки в число

id: 39956_task1

В переменной `num_as_str` хранится число, но в виде строки. Ваша задача — преобразовать эту строку в целое число (integer) с помощью соответствующей функции и сохранить результат в переменную `num_as_int`.

Заполните пропуски
num_as_str = "101"
num_as_int = input1S(num_as_str)

# Проверяем, что тип данных изменился и теперь можно выполнять математические операции
print(num_as_int + 99)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что получится в результате?

id: 39956_task2

Проанализируйте код. Число преобразуется в строку и объединяется с другой строкой. Что именно будет выведено на экран? Введите полный текст, который появится в консоли.

Что должно получиться?
item_id = 504
print("ID товара: " + str(item_id))
Сообщения
Проверить
Показать подсказку

Исправьте ошибку типов

id: 39956_task3

Этот код пытается объединить строку и число, что вызывает ошибку `TypeError`. Исправьте строку, где происходит сложение, чтобы код выполнился без ошибок, преобразовав число в строку.

Найдите ошибку и исправьте
name = "Алекс"
age = 30
 
# Следующая строка содержит ошибку
message = name + " " + age + " лет."
print(message)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Неудачное преобразование

id: 39956_task4

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

Выберите правильный вариант ответа
try:
    value_str = "99.9"
    number = int(value_str)
    print(number)
except ValueError:
    print("Невозможно преобразовать")
Сообщения
Проверить
Показать подсказку

Сопоставьте функции и их назначение

id: 39956_task5

В Python есть несколько встроенных функций для явного преобразования типов. Сопоставьте каждую функцию из правого столбца с её точным описанием из левого столбца.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Преобразует значение в число с плавающей точкой (дробное).
Преобразует значение в его строковое представление.
Преобразует значение в логический тип (True или False).
Преобразует значение в целое число, отбрасывая дробную часть.
str()
bool()
int()
float()
Сообщения
Проверить
Показать подсказку

Обработка пользовательского ввода

id: 39956_task6

Функция `input()` всегда возвращает строку. Чтобы использовать введенный возраст в математических расчетах, его нужно преобразовать в число. Соберите работающий код, перетащив правильные элементы из банка.

Нужно правильно расставить в пропуски предложенные варианты
# input() всегда возвращает строку
age_str = input("Введите ваш возраст: ")

# Преобразуйте строку в число для расчета
age_num = input1S(input2S)

print(f"Через 5 лет вам будет {age_num + 5} лет.")
int
str
age_str
"age_str"
float
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Ошибка при расчете с дробными числами

id: 39956_task7

В этом коде есть логическая ошибка. Умножение строки на число приводит к её повторению, а не к математическому расчету. Исправьте строку с вычислением `total`, преобразовав цену товара в подходящий числовой тип.

Найдите ошибку и исправьте
price_str = "199.50"
quantity = 2
total = price_str * quantity
print(f"Общая стоимость: {total}")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите скрипт для расчета

id: 39956_task8

Соберите из частей работающий скрипт. Он должен объявить переменную-строку, преобразовать её в целое число, умножить на 4 и вывести результат. Одна из строк лишняя и приведет к логической ошибке.

Перетяните в правильном порядке строки из одного блока в другой
value_int = int(value_str)
print(result)
value_str = "25"
print(value_str * 4)
result = value_int * 4
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Преобразование в логический тип

id: 39956_task9

В Python многие значения имеют логический эквивалент. Проанализируйте код и предскажите, что он выведет. Введите три логических значения (`True` или `False`) через пробел.

Что должно получиться?
val1 = 0
val2 = ""
val3 = "False"

print(bool(val1), bool(val2), bool(val3))
Сообщения
Проверить
Показать подсказку

Цепочка преобразований: float -> int -> str

id: 39956_task10

Иногда нужно выполнить несколько преобразований подряд. Здесь вам нужно сначала преобразовать скидку из дробного числа в целое (при этом дробная часть будет отброшена), а затем это целое число превратить в строку для красивого вывода. Заполните пропуски.

Заполните пропуски
# Данные о скидке в процентах
discount_percent = 15.7

# 1. Преобразуйте скидку в целое число
discount_int = input1S(discount_percent)

# 2. Преобразуйте целое число в строку для вывода
message = "Ваша скидка: " + input2S(input3S) + "%"

print(message)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
🚀 Визуализатор кода
0 / 0
Скорость:
Режим:
💡 Что происходит?
Загрузите пример для начала...
🤔
Проверка знаний
История шагов
Готов
НайтиКурс.Ру