You are on page 1of 7

Лекція

Тема: Введення і виведення даних

Основні поняття:
Python - інтерпретована об'єктно-орієнтована мова програмування високого
рівня зі строгою динамічною типізацією.
Функція input() - передає введені дані у програму. Їх можна привласнити
змінною.
Функція print() - в мові Пітон призначена для виведення заданих об'єктів на
стандартний пристрій виведення - зазвичай екран, також може надсилати їх у
файл.
Введення та виведення даних
Ми вже зустрічалися з функцією print(). Вона відповідає за виведення даних за
замовчуванням на екран. Якщо код міститься у файлі, без неї не обійтися. В
інтерактивному режимі часом можна обійтися без неї.
Введення даних у програму та їх виведення важливі у програмуванні. Без
введення програми робили б те саме, виключаючи випадки, як у них самих
генеруються випадкові значення. Висновок дозволяє побачити, використати,
передати далі результат роботи програми.

Зазвичай потрібно, щоб програма обробляла якийсь діапазон різних вхідних


даних, які надходять до неї із зовнішніх джерел. Як останні можуть виступати
файли, клавіатура, мережа, вихідні дані з іншої програми. У свою чергу
виведення даних, наприклад, можливе у файл, по мережі, в базу даних, на
принтер. Однак часто інформацію просто виводять на екран монітора.
Можна сказати, що програма – це відкрита система, яка обмінюється чимось із
зовнішнім для неї середовищем. Якщо живий організм переважно обмінюється
речовиною та енергією, то програма – даними, інформацією.
Виведення даних. Функція print()
Що таке функція в програмуванні, дізнаємось пізніше. Поки вважатимемо,
що print()це така команда мови Python, яка виводить те, що в її дужках на
екран.
У дужках можуть бути будь-які типи даних. Крім того, кількість даних може
бути різною:

Можна передавати у функцію print()як безпосередньо літерали (в даному


випадку "a:" і 1), так і змінні, замість яких будуть виведені їхні
значення. Аргументи функції (те, що у дужках), поділяються між собою
комами. У виведенні замість кому значення розділені пробілом.
Якщо у дужках стоїть вираз, то спочатку воно виконується, після
чого print()вже виводить результат цього виразу:

У print()передбачені додаткові параметри. Наприклад, через


параметр sepможна вказати відмінний від пробілу роздільник рядків:
Параметр endдозволяє вказувати, що робити після виведення рядка. За
промовчанням відбувається перехід на новий рядок. Однак це можна скасувати,
вказавши будь-який інший символ або рядок:

Зазвичай endвикористовується не в інтерактивному режимі, а в скриптах, коли


кілька висновків поспіль треба розділити не переходом на новий рядок, а,
скажімо, комами. Сам перехід до нового рядка позначається символом '\
n'. Якщо привласнити це значення параметру end, то жодних змін у роботі
функції printви не побачите, оскільки це значення і так надано за
замовчуванням:

Однак, якщо треба відступити на один додатковий рядок після виведення,


можна зробити так:

У функцію print часто передаються так звані форматовані рядки, хоча за


змістом їх правильніше називати рядки-шаблони. Жодного відношення до
самого printвони не мають. Коли такий рядок знаходиться в дужках print(),
інтерпретатор спочатку відповідно до заданого формату перетворює її до
звичайного рядка, після чого передає результат в print().
Форматування може виконуватися в так званому старому стилі або за
допомогою рядкового методу format. Старий стиль також називають Си-
стилем, тому що він схожий на те, як відбувається виведення на екран в мові C.
Розглянемо приклад:
Тут замість трьох комбінацій символів %s, підставляються
значення змінних pupil%d , old , grade . Літери , , позначають типи даних –
рядок, ціле число, речове число. Якби потрібно підставити три рядки, то у всіх
випадках використовувалося б поєднання .%f sdf %s
Хоча значення змінної grade було вказано число 9.2, на екран воно вивелося з
додатковими нулями. Щоб вказати, скільки потрібно знаків після коми,
треба fпоставити крапку, після неї вказати бажану кількість знаків у дробовій
частині:

Тепер подивимося на метод format():

У рядку у фігурних дужках вказані номери даних, які будуть сюди


підставлені. Далі до рядка застосовується метод format(). У його дужках
зазначаються самі дані (можна використовувати змінні). На нульове місце
підставиться перший аргумент методу format(), місце з номером 1 – другий
тощо.
Насправді можливості методу format()значно ширші, і їх вивчення знадобився
окремий урок. Нам поки що буде достатньо цього.
У нових релізах Пітона з'явився третій спосіб створення форматованих рядків –
f-рядки. Перед їхньою лапкою прописується буква f. У самому рядку всередині
фігурних дужок записуються вирази на Python, які виконуються, коли
інтерпретатор перетворює рядок-шаблон на звичайний.

У прикладі число 5 після змінної a означає кількість знайомест, що відводяться


під виведення значення змінної. У виразі b + 0.2:.1fспочатку виконується
додавання, після цього значення округляється до одного знака після коми.
Ввід данних. Функція input()
За введення в програму даних з клавіатури Python відповідає
функція input. Коли ця функція викликається, програма зупиняє своє виконання
і чекає, коли користувач введе текст. Після цього, коли він натисне Enter,
функція input()забере введений текст і передасть його програмі, яка вже
оброблятиме його відповідно до своїх алгоритмів.
Якщо в інтерактивному режимі ввести команду input(), нічого цікавого ви не
побачите. Комп'ютер буде чекати, коли ви щось введете і натиснете Enter або
просто натиснете Enter. Якщо ви щось ввели, це відразу відобразиться на
екрані:

Функція input()передає введені дані у програму. Їх можна привласнити


змінною. У цьому випадку інтерпретатор не виводить рядок одразу:

У цьому випадку рядок зберігається в змінній answer , і за бажанням ми


можемо вивести її значення на екран:
При використанні функції print()лапки у виводі опускаються:

Набагато цікавіше використовувати функцію input()в скриптах - файлах з


кодом. Розглянемо таку програму:

При запуску програми комп'ютер чекає, коли буде введено спочатку один
рядок, потім другий. Вони будуть присвоєні
змінним name_user та city_user . Після цього значення змінних виводяться на
екран за допомогою форматованого виводу.
Наведений вище скрипт далекий від досконалості. Звідки користувачеві знати,
що від нього хоче програма? Щоб не вводити людину в замішання, для
функції inputпередбачено спеціальний параметр-запрошення. Це запрошення
виводиться на екран під час дзвінка input(). Удосконалена програма може
виглядати так:

Зверніть увагу, що до програми надходить рядок. Навіть якщо ввести число,


функція input()поверне його рядкове подання. Але що робити, якщо треба
одержати число? Відповідь: використовувати функції перетворення типів.

В даному випадку за допомогою функцій int()і float()рядкові значення


змінних qty і price перетворюються відповідно на ціле число та речове
число. Після цього нові чисельні значення надаються тим самим змінним.
Програмний код можна скоротити, якщо перетворення типів виконати у тих же
рядках коду, де викликається функція input():
qty = int ( input ( "Скільки апельсинів?" ) )
price = float ( input ( "Ціна одного?" ) )

summa = qty * price


print ( "Заплатіть" , summa , "грн." )
Спочатку виконується функція input(). Вона повертає рядок, який
функція int()або float()відразу перетворює на число. Тільки після цього
відбувається привласнення змінної, тобто вона одразу набуває чисельного
значення.
Контрольні питання

1) Для чого призначена команда input?


2) Для чого призначена команда print()?
3) Спочатку виконується функція input() чи print()? Обгрунтуйте свою
думку.

You might also like