Ввод и вывод данных: функции input() и print()

Как Python общается с миром? 🌍

Программы без ввода и вывода — как монолог в пустой комнате. Давайте научим Python разговаривать с пользователем!

Функции input() и print() — это базовые инструменты для взаимодействия. Они похожи на двери: одна впускает данные в программу, другая — выпускает результат.


📥 Функция input(): "Расскажи мне о себе"

Когда Python встречает input(), он останавливается и ждёт, пока пользователь что-нибудь введёт с клавиатуры.

name = input("Как тебя зовут? ")
print(f"Привет, {name}! Рад познакомиться!")

Что здесь происходит? 1. Программа выводит вопрос "Как тебя зовут?" 2. Ждёт ввода (например, "Анна") 3. Сохраняет введённое значение в переменную name 4. Выводит персонализированное приветствие

🔥 Важно: Всё, что вводит пользователь, input() возвращает в виде строки (str). Даже если введено число!


Преобразование ввода: когда нужны числа

Хотите работать с числами? Преобразуйте строку в нужный тип:

age = int(input("Сколько тебе лет? "))  # Преобразуем в целое число
birth_year = 2023 - age
print(f"Ты родился в {birth_year} году!")

Лайфхак от Данилы Бежина: Всегда обрабатывайте потенциальные ошибки ввода:

try:
    age = int(input("Введите возраст: "))
except ValueError:
    print("Ой! Нужно ввести число.")

📤 Функция print(): "Я умею красиво говорить!"

print() — это ваш инструмент для вывода информации. Но он умеет больше, чем кажется!

Базовый вывод

print("Hello World!")  # Классика жанра

Вывод нескольких значений

name = "Мария"
age = 25
print("Имя:", name, "Возраст:", age)  # Автоматически добавляет пробелы

Форматированный вывод (f-строки)

print(f"{name} через 5 лет будет {age + 5} лет")  # Самый современный способ

Управление разделителями

print("Python", "is", "awesome", sep="!!! ")  # Python!!! is!!! awesome

Запись в файл

with open("output.txt", "w") as f:
    print("Сохраняем это в файл", file=f)

Практика: мини-игра "Угадай число"

Давайте создадим простую игру, используя наши новые знания:

import random

secret_number = random.randint(1, 10)
attempts = 3

print("Я загадал число от 1 до 10. У тебя 3 попытки!")

while attempts > 0:
    guess = int(input("Твой вариант: "))

    if guess == secret_number:
        print("🎉 Ты угадал! Это действительно", secret_number)
        break
    else:
        attempts -= 1
        print("Не угадал! Осталось попыток:", attempts)
else:
    print("😢 Ты проиграл. Я загадал", secret_number)

Разберём код: 1. Генерируем случайное число 2. Даём пользователю 3 попытки 3. Сравниваем ввод с загаданным числом 4. Подсказываем, остались ли попытки 5. В конце раскрываем секретное число


💡 Продвинутые техники

Многострочный ввод

print("Введи несколько строк. Для завершения введи 'end':")
lines = []
while True:
    line = input()
    if line == 'end':
        break
    lines.append(line)
print("Ты ввёл:", '\n'.join(lines))

Цветной вывод (для терминала)

print("\033[31mЭтот текст красный!\033[0m")  # Красный текст
print("\033[1mЭто жирный текст!\033[0m")     # Жирный шрифт

Что дальше?

Теперь вы умеете:

  • Принимать данные от пользователя с input()
  • Выводить информацию разными способами с print()
  • Обрабатывать ошибки ввода
  • Создавать интерактивные программы

Попробуйте улучшить игру "Угадай число":

  • Добавьте уровни сложности
  • Ведите счёт игрока
  • Записывайте рекорды в файл

Для углублённого изучения рекомендую видео Данилы Бежина про работу с файлами в Python.

Скрыть рекламу навсегда

🎥 YouTube: программирование простым языком

Канал, где я спокойно и по шагам объясняю сложные темы — без заумных терминов и лишней теории.

Подходит, если раньше «не заходило», но хочется наконец понять.

▶️ Смотреть курсы на YouTube