Какую роль в python выполняет оператор input
Перейти к содержимому

Какую роль в python выполняет оператор input

  • автор:

# Функция input() — ввод данных

За ввод в программу данных с клавиатуры в Python отвечает функция input() . Когда вызывается эта функция, программа останавливает свое выполнение и ждет, когда пользователь введет текст. После этого, когда он нажмет Enter, функция input() заберет введенный текст и передаст его программе, которая уже будет обрабатывать его согласно своим алгоритмам.

Если в интерактивном режиме ввести команду input() , то ничего интересного вы не увидите. Компьютер будет ждать, когда вы что-нибудь введете и нажмете Enter или просто нажмете Enter . Если вы что-то ввели, это сразу же отобразиться на экране:

Функция input() передает введенные данные в программу. Их можно присвоить переменной. В этом случае интерпретатор не выводит строку сразу же:

В данном случае строка сохраняется в переменной answer, и при желании мы можем вывести ее значение на экран.

Куда интересней использовать функцию input() в скриптах – отдельно взятых файлах с кодом. Рассмотрим такую программу:

При запуске программы, компьютер ждет, когда будет введена сначала одна строка, потом вторая. Они будут присвоены переменным nameUser и user_city . После этого значения этих переменных выводятся на экран с помощью форматированного вывода:

Вышеприведенный скрипт далек от совершенства. Откуда пользователю знать, что хочет от него программа? Чтобы не вводить в замешательство многозадачного биоробота, для функции input() предусмотрен специальный параметр-приглашение. Это приглашение выводится на экран при вызове input() . Усовершенствованная программа может выглядеть так:

Результат выполнения получиться следующий:

Обратите внимание, что в программу поступает строка. Даже если ввести число, функция input() все равно вернет его строковое представление. Но что делать, если надо получить число? Ответ: использовать функции преобразования типов:

Результат выполнения может быть следующий:

В данном случае с помощью функций int() или float() строковые значения переменных number_1 и number_2 преобразуются соответственно в целое число или дробное число. После этого новые численные значения присваиваются тем же переменным.

# Упражнения

Напишите программу, которая запрашивала бы у пользователя:

  • его имя (например, «What is your name?»)
  • возраст («How old are you?»)
  • место жительства («Where do you live?»)

После этого выводила бы три строки:

Значения имя , возраст , место_жительства — произвольные, вводимые пользователем.

Напишите программу, которая предлагала бы пользователю ввести три числа, а затем решить пример составленный из введенных чисел. Потом выводила бы на экран правильный ответ и ответ пользователя. Пример должен вычисляться. Подумайте, нужно ли здесь преобразовывать строку в число.

Результат выполнения может быть следующий:

Другой пример выполнения этой же программы:

Запросите у пользователя четыре числа. Отдельно сложите первые два, отдельно вторые два числа и выведите суммы. Разделите первую сумму на вторую и выведите результат на экран.

Ввод и вывод данных

Переменной в программировании называется именованный контейнер для некоторого значения. Представьте себе ящик с наклееным на него стикером. Вы кладете что-нибудь в ящик и пишете на стикере короткое имя без пробелов и знаков препинания, начинающееся с буквы английского алфавита, примерно так же работает переменная в программировании.

a и А — это разные переменные, регистр ввода имеет значение

Типы данных

Информация получаемая нами с помощью различных органов чувств делится на зрительную, слуховую, обонятельную, осязательную и другие. В программировании так же есть свое разделение, разделение на типы данных. Примитивных типов данных в Python 4:

int — целочисленный тип (1, 192, 781287)

float — вещественный (дробный) (1.12312, 1231.12378718)

str — строковый тип (обязательно пишется в кавычках) (‘Hello world’)

bool — булевый тип (имеет всего два значения: True и False)

Приведение типов

Приведением типов данных называется преобразование одного типа в другой, например, строку в число, число в строку, число в булеву переменную, строку в дробь и так далее.

a = 10
b = str (a) # b — это строка
с = int (b) # c — это снова число
d = 10.78
e = int (d) # e равно 10

Функция print

Функция print выводит переданные в неё аргументы в стандартный поток вывода. Что же такое стандартный поток вывода? Standart output или stdout называется потоком вывода, местом, куда мы выводим наш текстовый контент. По умолчанию стандартный поток вывода равен sys.stdout и поэтому вывод осуществляется в консоль.

Функция print все переданные в неё аргументы в стандартный поток вывода. Например:

print ( 1 )
print ( ‘Hello world!’ )
print ( False )
print ( 1.5 , 2.0 , 10 , True , ‘username’ )
print ( ‘Hello’ + ‘ ‘ + ‘world’ + ‘!’ )
# 1
# Hello world!
# False
# 1.5 2.0 10 True username
# Hello world!

На этом тривиальном примере мы видим две вещи. Во-первых, каждый print переносит поток вывода на новую строчку. Во-вторых, аргументы, переданные в функцию print выводятся через пробел.

# Во-первых:
print ( 1 )
print ( 2 )
# 1
# 2
# Во-вторых:
print ( ‘Hello’ , ‘world’ )
# Hello world

В обоих случаях мы можем изменить стандартное поведение. Рассмотрим первый параметр функции print — end, в него передается строка, которая напечатается после всех аргументов функции print.

print ( 1 , end = ‘ ‘ )
print ( 2 , end = ‘ ‘ )
print ( 3 , end = ‘ ‘ )
# 1 2 3

print ( 1 , end = » — » )
print ( 2 , end = ‘-‘ )
print ( 3 , end = » — » )
# 1-2-3-

print ( 1 , end = ‘-я выведусь после первого print-‘ )
print ( 2 , end = ‘-a я после второго-‘ )
print ( 3 , end = ‘-я выведусь после третьего-‘ )
# 1-я выведусь после первого print-2-a я после второго-3-я выведусь после третьего-

Рассмотрим второй параметр функции print — sep, sep от английского separator (разделитель). По умолчанию параметр sep равен ‘ ‘. Время для экспериментов ╰(▔∀▔)╯.

print ( 1 , 2 , 3 , 4 )
print ( 1 , 2 , 3 , 4 , sep = ‘+++’ )
print ( 1 , 2 , 3 , 4 , sep = ‘разделитель’ )
print ( 1 , 2 , 3 , 4 , sep = ‘(◕‿◕)’ )
print ( 1 , 2 , 3 , 4 , sep = ‘(ノ◕ヮ◕)ノ*:・゚✧’ )
# 1 2 3 4
# 1+++2+++3+++4
# 1разделитель2разделитель3разделитель4
# 1(◕‿◕)2(◕‿◕)3(◕‿◕)4
# 1(ノ◕ヮ◕)ノ*:・゚✧2(ノ◕ヮ◕)ノ*:・゚✧3(ノ◕ヮ◕)ノ*:・゚✧4

Функция input

Функция input является функцией стандартного ввода (stdin). Ее главная задача — это передача введенных пользователем данных в функцию.

name = input ()
print ( ‘Hello, ‘ + name)

Функция input может принимать всего лишь один аргумент — строку, которая выведется перед кареткой ввода

name = input ( ‘Enter your name: ‘ )
print ( ‘Hello, ‘ + name)

Функция input возвращает строковый тип данных

Строки можно складывать друг с другом — это называется конкатенацией или объединением

number = input ()
print (type(number))
#

Поэтому если мы напишем такой код, то он будет работать некорректно:

number1 = input ()
number2 = input ()
print (number1 + number2)
# Ввод:
# 1
# 2
# Вывод:
# 12

Поэтому необходимо преобразовать строковый тип в целочисленный (str в int)

number1 = int ( input ())
number2 = int ( input ())
print (number1 + number2)
# Ввод:
# 1
# 2
# Вывод:
# 3

Всегда проверяйте тип полученных данных, это поможет вам избежать большого количества ошибок. К слову, если вы что-то напутали с типами переменных, то Python выдаст ошибку TypeError (ошибка типа)

Решение задач

1. Поэкспериментируйте с переводом в различные типы данных

2. Пользователь вводит свое имя и фамилию. Выведите:

Hello, имя фамилия
# На месте слов с % должны быть введенные данные

3. Посчитайте сумму трех введенных целых чисел

4. Посчитайте сумму трех введенных дробных чисел. Подумайте в какой тип данных нужно преобразовать значение, возвращенное функцией input

5. Дано число, выведите предыдущее и следущее за ним числа в таком формате:

# Число равно 10
Число предшествующее числу 10 равно 9
Число следующее за числом 10 равно 11

6. Вводятся имя и возраст. Выведите, где введенное имя = Максим, а возраст = 20

Python Input Function: A Tutorial To Learn By Example

Claudio Sabato

If you are either familiar with Python or if you are starting with it now, it’s likely that you have heard about the Python input function.

The Python input built-in function allows to capture the input provided by a user during the execution of a program. The input function returns the input in string format and its value can be assigned to a variable for later use.

Claudio Sabato

Written by Claudio Sabato

I’m a Software Engineer and Programming Coach. I want to help you in your journey to become a Super Developer!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *