input() – це вбудована функція Python, яка використовується для отримання даних, які вводить користувач під час виконання програми. Після виклику input() виконання програми призупиняється, доки користувач не введе значення і не натисне Enter. Результат роботи функції – рядок, який можна зберегти в змінну й надалі обробляти.
Синтаксис функції input()
Базовий вигляд виклику:
input(prompt)prompt – необов’язковий аргумент-рядок.
Якщо він переданий, текст prompt відображається на екрані перед тим, як програма чекатиме введення користувача.
Приклади:
name = input('Enter your name: ')
age = input('Enter your age: ')Якщо викликати input() без аргументів, нічого виведено не буде – програма просто чекатиме введення:
data = input()Базовий приклад
Найпростіший спосіб використання input() – викликати функцію і зберегти її результат у змінну:
user_name = input('Введіть ваше ім\'я: ')
print(f'Привіт, {user_name}!')Як це працює:
- Програма виводить на екран повідомлення-підказку "Введіть ваше ім'я: ". Це повідомлення називається промпт (англ. prompt).
- Виконання коду призупиняється, поки користувач не введе текст і не натисне Enter.
- Введене значення зберігається у змінну user_name як рядок (str).
Усі введені значення – це рядки
Функція input() завжди повертає рядок (str), навіть якщо користувач вводить число:
age = input('Enter your age: ')
print(type(age)) # <class 'str'>Тому якщо потрібно працювати з числовими значеннями, введений текст необхідно перетворити на число за допомогою int() або float():
age = int(input('Enter your age: '))
print('Next year you will be', age + 1)У цьому прикладі:
- input() отримує введений текст
- int() перетворює його на ціле число
- програма може виконувати обчислення
Type Casting (приведення типів) у Python
Обробка кількох значень
Іноді потрібно зчитати від користувача кілька значень за один раз. Це можна зробити, якщо користувач введе дані, розділені пробілами, а потім розділити їх за допомогою методу .split():
x, y = input('Enter two numbers: ').split()
print(x, y)У цьому прикладі користувач вводить два значення через пробіл, split() розділяє рядок на частини, після чого кожна частина присвоюється змінним x та y.
Якщо ж потрібно працювати саме з числами, значення слід одразу перетворити за допомогою map():
x, y = map(int, input('Enter two numbers: ').split())
print(x + y)Використання зі strip()
Під час введення користувач може випадково додати зайві пробіли або натиснути Space перед/після тексту. Щоб прибрати такі символи, зручно використовувати метод .strip():
text = input('Enter something: ').strip()
print(f'You entered: "{text}"').strip() видаляє пробіли на початку та в кінці рядка (а також символи нового рядка \n або \r, якщо вони є), у результаті чого ми отримуємо «чистий» текст.
Підсумок
| Завдання | Приклад |
|---|---|
| Зчитати рядок | name = input() |
| Зчитати з промптом | value = input('Enter value: ') |
| Зчитати число | age = int(input()) |
| Кілька значень | x, y = input().split() |
| З очищенням | text = input().strip() |