В этом уроке мы познакомимся с одной из ключевых функций Python — `input()`. Она позволяет программам "общаться" с пользователем, запрашивая у него данные прямо во время выполнения. Без ввода данных большинство программ были бы просто набором инструкций с заранее известным результатом. Мы научимся не только получать информацию от пользователя, но и правильно её обрабатывать. Вы узнаете, почему данные, полученные через `input()`, требуют особого внимания и как превратить их из обычного текста в числа для математических операций. Эти задания помогут вам создавать по-настоящему интерактивные и полезные программы.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Первый ввод данных
Напишите простейшую программу, которая запрашивает имя пользователя и выводит приветствие. Для этого вам нужно использовать функцию, которая считывает строку из консоли. Заполните пропуск, чтобы программа заработала.
# Запрашиваем имя пользователя
user_name = input1S("Как вас зовут? ")
# Выводим приветствие
print(f"Здравствуйте, {user_name}!")Сборка программы-диалога
Соберите из фрагментов кода программу, которая сначала спрашивает у пользователя его любимый цвет, а затем выводит ответ. Помните о правильной последовательности: сначала нужно получить данные, а уже потом их использовать. Одна из строк лишняя.
print(f"Отличный выбор! {fav_color} — красивый цвет.")fav_color = input("Какой ваш любимый цвет? ")print(fav_color)Ошибка типов: строка и число
В этом коде есть ошибка. Программа запрашивает год рождения и пытается вычислить возраст, вычитая его из текущего года. Однако `input()` возвращает строку, а не число. Найдите строку с ошибкой и исправьте её, преобразовав полученные данные в числовой тип.
current_year = 2024birth_year_str = input("В каком году вы родились? ")age = current_year - birth_year_strprint(f"Значит, вам примерно {age} лет.")Что выведет этот код?
Проанализируйте код. Программа запрашивает два числа и складывает их. Учитывая, что пользователь последовательно вводит '10' и '5', какой результат будет выведен на экран? Введите ответ в поле.
# Пользователь вводит: 10
num_str_1 = input("Первое число: ")
# Пользователь вводит: 5
num_str_2 = input("Второе число: ")
result = num_str_1 + num_str_2
print(result)Явное преобразование типов
Чтобы избежать ошибок, как в предыдущих заданиях, нужно явно преобразовывать типы данных. Дополните код, используя правильные функции для преобразования возраста в целое число, а роста — в число с плавающей точкой.
age_str = input("Ваш полный возраст: ")
height_str = input("Ваш рост в метрах (например, 1.75): ")
# Преобразуем строки в числа
age_num = input1S(age_str)
height_num = input2S(height_str)
print(f"Тип переменной age_num: {type(age_num)}")
print(f"Тип переменной height_num: {type(height_num)}")Калькулятор площади круга
Восстановите правильный порядок строк, чтобы получилась программа для вычисления площади круга по радиусу, введенному пользователем. Формула площади: S = π * r². Будем считать π равным 3.14159.
radius = float(radius_str)print(f"Площадь круга: {area}")radius_str = input("Введите радиус круга: ")area = 3.14159 * (radius ** 2)Два числа в одной строке
В этом примере пользователь вводит два числа в одну строку через пробел. Функция `input().split()` разделяет строку на части и создает список строк. Затем `map(int, ...)` применяет функцию `int` к каждому элементу списка. Что выведет `print(a + b)`?
# Пользователь вводит: 5 7
a, b = map(int, input("Введите два числа через пробел: ").split())
print(a + b)Соберите строку запроса
Соберите работающую строку кода из банка токенов. Программа должна запросить у пользователя его город и сохранить ответ в переменную `city`. Используйте элементы из банка, чтобы заполнить пропуски. Один из токенов лишний.
city = input1S(input2S)Сопоставьте функцию и её результат
Функция `input()` и функции преобразования типов — это связка, которую вы будете использовать постоянно. Сопоставьте код в правой колонке с типом данных, который окажется в переменной `result` после его выполнения. Предполагается, что пользователь вводит `123`.
result = input('Ввод: ')result = int(input('Ввод: '))result = float(input('Ввод: '))