Ввод-вывод

Ввод данных

Наиболее простой способ считать данные от пользователя — воспользоваться побочным эффектом вычисления формулы input().

Функция input неким (ОС-специфичным) способом запрашивает у пользователя строчку текста и выдаёт её в качестве своего результата. Тип данных результата — текст. Если его нужно интерпретировать как число, нужно к нему применить функцию int.

Очень часто требуется разбить строчку на отдельные слова. В этом помогает метод текстовых данных .split() и множественное присваивание. Например, чтобы считать из строчки два числа, можно воспользоваться конструкцией

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

Ровно так же можно считать и три (и любое другое количество) числа:

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

К сожалению, так нельзя считать одно число. Если хочется совсем универсального шаблона, можно воспользоваться следующим:

a, b, *_ = input().split()  
## все остальные слова текста, кроме первых двух, оказываются в переменной _
a, b = int(a), int(b)

Ровно эта же конструкция отлично работает и для одного числа:

a, *_ = input().split()
a = int(a)

Напоследок скажем о том, что если нужно считать весь поданный на вход программе текст, можно воспользоваться формулой sys.stdin.read(), предварительно дав команду import sys. Отметим, что при вводе данных с клавиатуры способ завершения ввода является ОС-специфичным. Обычно работает клавишесочетание Ctrl-D (возможно, двойное), или же Ctrl-Z, Enter.

Вывод данных

Для вывода данных используется функция print. Она принимает на вход произвольное количество данных и печатает их, разделяя пробелами, по окончании переходя на следующую строчку.

Её поведением можно управлять при помощи именованных входов sep и end. По умолчанию формула print(1,2,3) эквивалентна print(1,2,3,sep=' ',end='\n'). Вход sep управляет разделителем отдельных единиц данных, вход end — завершающим текстом.

Например, чтобы напечатать числа 1, 2, 3 через запятые, завершив печать точкой с переходом на новую строку, можно воспользоваться формулой

print(1, 2, 3, sep = ',', end = '.\n')