Комп’ютерні програми обробляють дані, здійснюючи над ними операції, які задав програміст, і які були обумовлені поставленими завданнями. Дані в програму можна “закласти” в процесі її розробки. Однак така програма завжди буде обробляти одні й ті ж дані і повертати один і той же результат. Найчастіше потрібно зовсім інше – програма повинна обробляти різні (відносно, в певному діапазоні) дані, що надходять до неї з зовнішніх джерел. В якості останніх можуть виступати файли або клавіатура.
Коли інформація вводиться з клавіатури, а результати виводяться на екран монітора, то можна говорити про інтерактивний режим роботи програми. Вона обмінюється інформацією із зовнішнім для неї середовищем: може виводити і отримувати дані в процесі виконання, і не є замкнутою сама на собі. З виведенням даних ми вже почасти знайомі: виведенням на екран (і не тільки) в мові програмування Python займається функція print().
Введення даних з клавіатури в програму (починаючи з версії Python 3.0) здійснюється за допомогою функції input (). Коли дана функція виконується, то потік виконання програми зупиняється в очікуванні даних, які користувач повинен ввести за допомогою клавіатури. Після введення даних і натискання Enter, функція input () завершує своє виконання і повертає результат, який представляє собою рядок символів, введених користувачем.
>>>input()
1234
'1234'
>>>input()
Hello World!
'Hello World!'
Коли виконувана програма пропонує користувачеві що-небудь ввести, то користувач може не зрозуміти, що від нього хочуть. Треба якось повідомити, введення яких даних очікує програма. З цією метою функція input () може приймати необов’язковий аргумент-запрошення рядкового типу; при виконанні функції повідомлення буде з’являтися на екрані та інформувати людину про запитувані дані.
>>> input ("Введіть номер карти: ")
Введіть номер картки: 98765
'98765 '
>>> input('Input your name: ')
Input your name: Sasha
'Sasha'
З прикладів видно, що дані повертаються у вигляді рядка, навіть якщо було введено число. У
більш ранніх версіях Python були дві вбудовані функції, що дозволяли отримувати дані з
клавіатури: raw_input (), яка повертала в програму рядок та input (), яка повертала число.
Починаючи з версії Python 3.0, якщо потрібно отримати число, то результат виконання
функції input () змінюють за допомогою функцій int () або float ().
>>> input ('Введіть число: ')
Введіть число: 10
'10 '
>>> int(input ('Введіть число: '))
Введіть число: 10
10
>>> float(input ('Введіть число: '))
Введіть число: 10
10.0
Результат, що повертається функцією input (), зазвичай присвоюють певній змінній для
подальшого використання в програмі.
>>> userName = input ('What is your name? ')
What is your name? Masha
>>> exp = input ('3*34=')
3*34=102
>>> exp = int(exp) + 21
>>> userName
'Masha'
>>>exp
123