понеділок, 22 травня 2017 р.

Запит декількох змінних в один рядок

Чи зустрічалися вам випадки в програмуванні, коли доречно б було запитувати декілька змінних в один рядок? Даний прийом дуже часто зустрічається на різноманітних олімпіадах з програмування, і в інших мовах програмування не потребує додаткових функції. З Python це трішки складніше, але не неможливо!
Тож, для запиту значення однієї змінної у користувача, ми звикли користуватися функцією input(), але і у випадку з декількома змінними це не буде виключенням, просто тепер ми повинні уточнити, що запитуватися буде не одна змінна, а певний список значень. Для запиту списків використовується функція split(). Її потрібно додати до input(). От, що вийшло:
input().split()
Ну і тепер, нехай, нам потрібно запитати дві змінні: a i b. Ось так буде виглядати цей рядок коду:
a,b=input().split()
Зверніть увагу! Назви змінних потрібно розділити комами. А при введенні значень змінних, їх потрібно розділяти пробілами.
Але як ви вже помітили, ми ні де не вказали тип даних змінних, ось в цьому і основна цікавинка даного прийому. Звичайно, ми можемо застосувати типи даних до кожної змінної окремо:
a,b=input().split()
a=int(a)
b=int(b)
Але так роблять, зазвичай, якщо змінні належать до різних типів даних, а от для однотипних змінних краще було б застосувати іншу конструкцію. Наприклад, для запиту двох цілочисельних змінних таку:
a,b=map(int, input().split())
Функція map() застосовує вказану функцію (в нашому випадку int) до кожного елемента списку (в нашому випадку input().split()).
Зверніть увагу, що функція int як і всі інші, в функції map(), позначається без дужок.
Також зверніть увагу, що за замовчуванням всі елементи списку input().split() будуть текстом, тому для запиту змінних текстового типу можна просто скористатися функцією input().split().


Якщо, дана стаття була для вас корисною поширте її в соціальних мережах. А придбати посібник із програмування мовою Python для 8-го класу можна тут: proginschool.inf.ua

Немає коментарів:

Дописати коментар

Динамічне програмування мовою Python

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