1. Как устроены ввод и вывод в задачах
Как устроены ввод и вывод в задачах
В задачах по программированию вы почти всегда работаете с двумя действиями:
В этом курсе мы научимся делать диалоговую программу приветствия: сначала программа задаёт вопрос, затем читает имя пользователя, затем печатает приветствие.
Что такое стандартный ввод и стандартный вывод
В условиях задач обычно написано:
input.txtoutput.txtЭто означает:
input().print().На онлайн-проверяющих системах (автотестах) данные “как будто” заранее подаются программе на вход, а ваша программа должна вывести результат строго по формату.
Как работает input()
Функция input():
str (строка);Пример чтения имени:
После этого в переменной name будет строка, которую ввели (например, "Ann").
Подробнее: Документация Python: input.
Как работает print()
Функция print() выводит данные в стандартный вывод.
Важные свойства:
print() добавляет перевод строки в конце, то есть каждый вызов печатает с новой строки;print("Привет,", name);print() по умолчанию вставляет пробел.Пример:
Если name равно "Ann", то будет выведено:
Подробнее: Документация Python: print.
Почему важен точный формат вывода
Автотесты сравнивают ваш вывод с ожидаемым. Обычно важно:
Для нашей задачи требуется:
Как Вас зовут?Привет, <имя пользователя>Обратите внимание:
?;Привет, Ann.Порядок действий в диалоговой задаче
Эта задача диалоговая: мы не просто читаем и выводим, а создаём “разговор”. Правильная последовательность такая:
!Схема показывает порядок: сначала выводим вопрос, потом читаем имя, потом выводим приветствие.
Решение задачи приветствия
Ниже — корректный вариант кода, который соответствует формату вывода из условия:
Почему именно так:
input();print().Частые ошибки
Если вы сначала печатаете Привет, ..., а потом читаете имя — формат диалога нарушится.
Например, Как вас зовут? (другая буква) или отсутствие ? может привести к ошибке в тестах.
Например, Привет, Ann (два пробела) или дополнительный print().
Итог
В этой задаче важно понять базовую модель работы с задачами:
input() читает строку из стандартного ввода;print() печатает строку в стандартный вывод;