Ввод и вывод данных: функции 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.