Приємне спілкування користувача з Python – одна з багатьох привабливих рис програми. Простота, сучасність, лаконічність і зрозумілість – ось чим зачаровує програмний продукт. Самими першими уроками для початківців користувачів є вивчення введення та виведення інформації. В Python input (ввід) і print (висновок) полегшують життя розробникам.
Введення
Всі без винятку програмні продукти обробляють і виводять дані. Тільки в деяких закладена інформація спочатку, а в інших вона надходить ззовні. Черпати дані можна з файлів або безпосередньо з введеного користувачем тексту. У другому випадку передбачається інтерактивний режим роботи. Виходить, користувач вводить інформацію, програма її обробляє і виводить на екран. В такому випадку кажуть, що код не замкнутий на собі, а може «спілкуватися» з зовнішнім середовищем. Так, для введення інформації в останніх версіях Python input використовується.
Висновок інформації
Для друку будь-яких даних на екрані використовується стандартна вбудована функція print. У версії "Пітона" 3 після слова print йдуть круглі дужки, в яких вказується виводиться інформація. У версії 2.7 після зарезервованої команди print круглих дужок бути не повинно. У ранній версії після слова print написати змінну і поставити кому буде означати придушення перекладу рядка. У новій редакції "Пітона" з командою виведення в круглих дужках вказується мінлива і end=" ". Це означає додавання пробілу замість перекладу рядка. У старій версії допускається написання тільки команди print, що означає Enter. У новій редакції необхідно викликати функцію. Запис print () некоректна. В одній команді з print в Python input працює. Про цій команді поговоримо нижче.
Введення інформації
Щоб ввести дані з консолі, необхідна команда raw_input (Python 2.7). Вона виводить запрошення користувачеві, очікує введення даних і здійснює подальшу роботу відповідно надійшли аргументами. У 3-й версії Python input використовується. У чому різниця між двома командами?
У більш ранніх версіях (2.7) raw_input була необхідна для вводу рядкових типів даних. Якщо потрібно було отримати число, то команда виконувалася з функцією int(). Ця функція перекладала число з рядка в цілий тип. У цій же версії функції input Python вводила чисельні вираження, і використовувати додатково int не було необхідності. Розробники Python 3.0 усунули raw_input і залишили тільки input. Якщо через input у новій версії ввести число, то потрібно додатково задіяти int або float, щоб отримати ціле або дійсне вираження. Якщо використовувати команду з порожніми круглими дужками, то програма буде чекати дій з боку користувача. На думку деяких експертів, використовувати в Python input string не рекомендується, оскільки інтерпретатор може виконувати синтаксичні дії через цю команду. Це загрожує проломом в безпеці програмного коду. Якщо в Python 3.0 не «оцифрувати» рядок, то при виконанні математичних дій введені дані будуть складатися як рядки.
Ось так повинен виглядати правильний фрагмент програми з використанням input і числових даних.
Завдання з рішенням і алгоритмом
1. Створити програму, яка буде запитувати у користувача його ім'я та вік. Вивести на екран повідомлення, в якому говориться, скільки років йому було б через століття. Алгоритм: вивести на екран запрошення для подальшого введення імені та віку; зробити необхідні математичні розрахунки; вивести повідомлення типу: «Марина, Вам виповниться 100 років у 2099 році»
2. Написати програму, в якій даються 2 рядки. Поміняти між собою 2 перших символи кожного рядка. Алгоритм: присвоїти новій змінної суму зрізів; присвоїти другий змінної суму зрізів; повернути значення функції; вивести на екран результат.
Завдання на закріплення
1. Написати код, який буде шукати і виводити на екран значення гіпотенузи прямокутного трикутника. Довжину катетів задає користувач. 2. Скласти програмний код, який буде запитувати у користувача коефіцієнти квадратного рівняння. Надалі на екран повинні виводитися корені квадратного рівняння. 3. Написати програму, в якій виводиться запрошення користувачеві вирішити математичний приклад: 4*100-54. Якщо вводиться правильну відповідь, то з'являється повідомлення з привітаннями. Якщо ж ні, на екран виводиться повідомлення про помилку. Додатково потрібно переробити програму, в якій в циклі while ці дії будуть повторюватись до тих пір, поки користувач не введе правильну відповідь.