Тест Python. Змінні та функція input ()

Прокрутити вниз

Курси для дітей програмування

Введення і виведення даних (функції input () і print ())

Курси для дітей програмування. До цього моменту вся цифрова інформація для програм, які виконують обчислення, вказувалася безпосередньо в коді. Прийшов час наділити наші програми здатністю введення (input) даних. Це процедура, що дозволяє вставити нову інформацію в уже програму, що працює. Дана процедура дозволяє писати більш різноманітні та цікаві програми, які взаємодіють з користувачем. В Python існує вбудована функція input (), призначена для отримання даних від користувача.

Функція input ()

Функція input () отримує від користувача рядок тексту. Зазвичай дані просто вводяться з клавіатури. Отже, до вже знайомих вам вбудованих Python-функцій str () int (), float () і type (), які ми розглянули, додалася ще одна. Докладно про функції ми будемо говорити пізніше, а поки досить запам’ятати, що вставляючи їх у свої програми, ви повинні додавати круглі дужки.

Ось приклад застосування функції введення:

yourName = input ()

Ця команда дає користувачеві можливість ввести рядок, якому буде присвоєно ім’я yourName. Вставимо її в програму. Створіть в IDLE новий файл і додайте туди код:

print “Як тебе звуть?”)

yourName = input ()

print “Привіт,” yourName)
Збережіть і запустіть цю програму в IDLE, щоб подивитися, як вона працює. Ви повинні отримати приблизно такий результат:

Як тебе звати?
Тарас
Привіт, Тарас

Тут було використано дві функції – функція print () для виведення на екран пояснення тексту, а функція input () – для зчитування, з клавіатури введеної, користувачем відповіді. Але, це все можна зробити дещо простіше. Адже функція input () може сама виводити підказки для користувача. Наприклад:

yourName = input “Введіть ім’я: ‘)

Тобто для того щоб вивести підказку – користувачеві досить написати її в дужках після input (якщо пояснення – це рядок, не забуваємо використовувати лапки). В цьому випадку, функція input () виведе на екран повідомлення «Введіть ім’я:” і зупинить виконання програми до отримання відповіді користувача (до натискання клавіші Enter).

Введіть ім’я: Тарас

З прикладу видно, що програма очікує введення даних в тому ж рядку де було виведено підказку користувачу. Але це не завжди зручно. Можна розділити рядки виведення і введення, використовуючи символом розриву рядків – “\ n”. Зокрема, використовуючи наступну структуру:

yourName = input “Введіть ім’я: \ n”)

Ми отримаємо результат у вигляді:

Введіть ім’я:
Тарас

Метод split ()

Складніше зчитувати значення змінних, якщо вони записані в одному рядку. Тут потрібно застосувати до зчитувального рядка метод split (), який розділяє рядок на частини по одному або декільком перепустками (а також табуляції та іншим символам). Потім результат виконання цієї функції надамо декільком змінним. Наприклад, якщо в рядку вводяться два числа через пробіл, то вважати їх можна так:

>>> a, b = input (). Split ()
125325
>>> a
“125”
>>> b
“325”

Аналогічно, можна зчитувати значення розділені будь-якими символами. Для цього достатньо в дужках після методу split вказати потрібний символ:

>>> a, b, c, d = input (). Split ‘;’)
12; 45; 25; 32
>>> a
’12’
>>> b
“45”
>>> c
’25’
>>> d
’32’

Якщо ж об’єднати всі зазначені можливості для введення, можна отримати цікавий результат:

>>> dd, mm, yyyy = input “Введіть дату свого народження: \ n”). Split “.”)
Введіть дату свого народження:
10.08.1986
>>> print “Ви народилися:” dd, “числа”, mm, “місяця”, yyyy, “року!”)
Ви народилися: 10 числа 08 місяці 1986!

Але, як ми змогли вивести стільки інформації в одній стрічці? Виявляється print () також вбудованою функцією Python. І так само як input () вона має ряд своїх властивостей.

Функція print ()

Для виведення даних використовується функція print (), яка може виводити не тільки значення змінних, але і значення будь-яких виразів. наприклад:

>>> print (2 + 8 / 23-45 * 2 + 12 ** 3)
1640.3478260869565

Також за допомогою функції print можна виводити значення не одного, а декількох виразів, для цього потрібно перерахувати їх через кому:

>>> print (14 + 8,12 + 36, 8 * 9)
22 48 72

Використовуючи функцію print () можна виводити на екран будь-які скомпоновані рядки тексту:

>>> a = 15
>>> b = 23
>>> print (a, ‘+’, b, ‘=’, a + b)
15 + 23 = 38

За замовчуванням, замість коми між значеннями, які виводяться, вставляється пробіл. Це можна легко змінити використавши додатковий парамент sep функції print ():

>>> print (1, 2, 3, 4, 5, 6, sep = ‘-‘)
1-2-3-4-5-6

Фактично, атрибут sep замінить стандартний пробіл на вказаний вами символ (або послідовність символів, але не забуваємо про використання лапок).

Курси для дітей програмування кращий спосіб захопити дитину в IT сферу.

А якщо спробувати вивести кожне значення з нової стрічки. Хіба для цього потрібно буде писати кожен раз нову функцію print () для кожного значення? Звичайно, ні. Достатньо як атрибуту sep вказати символ розриву рядків “\ n”:

>>> print (1, 2, 3, 4, 5, 6, sep = ‘\n ‘)
1
2
3
4
5
6

Кожна наступна функція print () буде виводити задане значення з нового рядка. Фактично print () виводить вказане значення, а потім переводить курсор на наступний рядок. Це можна змінити використовуючи ще один атрибут функції print () – end. В такому випадку, як його властивості ми вкажемо пробіл:

print “Мене”, end = “”)
print “звуть”, end = “”)
print “Микола”, end = “”)
print “Олександрович”)

Наведений вище код виведе на екран наступний рядок:

Мене звуть Микола Олександрович

Також значення атрибута end можна замінити довільним символом або послідовністю символів. Наприклад, змінимо попередній код, вказавши в якості властивості атрибута end послідовність символів “-, -“. Ось, що ми отримаємо в результаті виконання зазначеного коду:

Мене -, – звуть -, – Микола -, – Олександрович

Також, використовуючи атрибут end і вказавши в якості властивості кілька символів розриву рядків, ми можемо отримати необхідну кількість порожніх стрічок:

print “Мене звуть”, end = “\ n \ n \ n”)
print “Микола Олександрович”)

Використавши цей код ми отримаємо наступний результат:

Мене звуть Микола Олександрович

Введення чисел

Отже, тепер ви знаєте, як за допомогою функції input () здійснити введення рядка. А що робити, якщо вам потрібно ввести число?  Можна взяти функцію int () або float () і перетворити наданий вам функцією input () рядок в число. Це буде виглядати так:

a = input ()
a = float (a)

Спочатку за допомогою функції input () ми отримуємо дані у вигляді рядка. А потім, застосувавши функцію float (), ми перетворюємо її в число. Втім, все це можна зробити та коротше, всього за один крок:

a = float (input ())

Цей рядок виконує ті ж дії. Отримує у користувача рядок і перетворює його в число. Але тепер для цього потрібно менше коду.

Функцыя int ():

Якщо ви хочете, щоб всі дані, які вводяться користувачем були цілими числами (без десяткових знаків), для перетворення можна залучити функцію int ():

a = int (input ())

Але тут може виникнути помилка введення, коли користувач замість цілого числа введе дробове:

>>> a = int (input ())
12.3
Traceback (most recent call last):
File ”
“, Line 1, in

a = int (input ())
ValueError: invalid literal for int () with base 10: ’12 .3 ‘

Це сталося через те, що Python не знає як перетворити рядок з десятковою крапкою в ціле число. Розв’язувати дану проблему, можна спочатку перетворивши рядок в дійсне число, а вже потім в ціле, тобто:

a = float (input ())
a = int (a)

Ту ж операцію ми можемо виконати в одному рядку коду:

>>> a = int (float (input ()))
12.365
>>> a
12

Тепер помилка відсутня, оскільки ми спочатку виконали перетворення в дійсне число, а вже потім – в ціле.

А як бути, коли ми вводимо все числа в один рядок? Можна по черзі перетворювати змінні після їх зчитування:

>>> a, b = input (). Split ()
12 23.65
>>> a = int (a)
>>> b = float (b)
>>> a
12
>>> b
23.65

Тут, ми кожну змінну перетворили в потрібний тип даних. Якщо все запитуванні змінні матимуть один тип, можна використовувати функцію map (). Яка має два обов’язкових параметри: перший – тип даних, другий – рядок, яка перетворюється:

a, b, c = map (int, input (). split ())

Використовуючи отримані знання, напишемо невелику програму-калькулятор, яка виведе на екран результат виконання семи основних операцій над цілими числами. Числа запитуються у користувача з відповідним повідомленням.

Приклад програми:

a = int (float (input “Введіть перше ціле число: \ n”)))
b = int (float (input “Введіть друге ціле число: \ n”)))
print (a, ‘+’, b, ‘=’, a + b)
print (a, ‘-‘, b, ‘=’, a-b)
print (a, ‘*’, b, ‘=’, a * b)
print (a, ‘/’, b, ‘=’, a / b)
print (a, ”, b, ‘=’, a b)
print (a, ‘//’, b, ‘=’, a // b)
print (a, ‘%’, b, ‘=’, a% b)

Результат виконання:
Введіть перше ціле число:
12
Введіть друге ціле число:
32
12 + 32 = 44
12 – 32 = -20
12 * 32 = 384
12/32 = 0.375
12 ** 32 = 34182189187166852111368841966125056
12 // 32 = 0
12% 32 = 12

Курси для дітей програмування – швидкий спосіб навчитися кодити. Проходьте тест на знання Пайтона! А якщо ви хочете навчитися програмувати на Python – записуйтеся на заняття прямо зараз! У нас є заняття в офісі на м. Академмістечко, м. Житомирська і в форматі онлайн.