Python для начинающих: 5 простых примеров программ – стартуем
Для кого эта статья:
- Начинающие программисты, ищущие простые примеры кода на Python
- Люди, желающие освоить Python для профессионального роста
Учителя и преподаватели, желающие использовать практические примеры для обучения студентов
Программирование на Python — это не хождение по минному полю, а увлекательное приключение! Я помню свой первый код и тот восторг, когда консоль вывела "Hello, World!". Каждый мастер начинал с малого. В этом руководстве мы разберем 5 простых, но мощных примеров программ на Python, которые станут вашим трамплином в мир разработки. От базовых операций до графических приложений — вы удивитесь, насколько быстро сможете создать что-то работающее! 🚀
Хотите не просто изучать Python по примерам, а освоить его на профессиональном уровне? Курс Обучение Python-разработке от Skypro — это структурированная программа с практическими заданиями, проверкой кода ментором и реальными проектами в портфолио. Пока вы экспериментируете с кодом из нашей статьи, задумайтесь: может, пришло время превратить хобби в востребованную профессию? 🐍
Старт с нуля: первая программа "Hello, World!"
Традиционно знакомство с любым языком программирования начинается с программы "Hello, World!". Это своеобразный ритуал посвящения в программисты. На Python эта программа выглядит предельно просто:
print("Hello, World!")
Всего одна строка кода, но эта строка открывает двери в мир программирования на Python. Функция print() выводит в консоль то, что передано ей в качестве аргумента. В данном случае, это строка "Hello, World!".
Давайте разберем процесс создания и запуска вашей первой программы:
- Установите Python с официального сайта python.org
- Откройте любой текстовый редактор или среду разработки (IDE), например, PyCharm или Visual Studio Code
- Создайте новый файл с расширением .py, например, hello.py
- Напишите в файле строку кода: print("Hello, World!")
- Сохраните файл
- Запустите программу через командную строку: python hello.py
Вот что произойдет после запуска программы — в консоли появится текст "Hello, World!". Поздравляю, вы написали свой первый код на Python! 🎉
Давайте пойдем немного дальше и модифицируем нашу программу, чтобы она приветствовала пользователя по имени:
name = input("Как вас зовут? ")
print(f"Привет, {name}! Добро пожаловать в мир Python!")
Здесь мы уже используем две важные концепции:
- input() — функция для получения ввода от пользователя
- f-строки — удобный способ форматирования строк в Python 3.6+
Программа теперь спрашивает имя пользователя и приветствует его персонально. Это уже интерактивное взаимодействие! 👋
| Функция | Описание | Пример использования |
|---|---|---|
| print() | Вывод данных в консоль | print("Текст для вывода") |
| input() | Получение ввода от пользователя | name = input("Ваше имя: ") |
| f-строки | Форматирование строк | f"Привет, {name}!" |
Антон Смирнов, Python-разработчик
Помню свой первый день изучения программирования. Я часами пытался настроить среду разработки, ошибался в синтаксисе и не понимал, почему компьютер "не слушается". Момент, когда моя первая программа "Hello, World!" заработала, был переломным. Это как научиться ездить на велосипеде — сначала кажется невозможным, а потом не понимаешь, как это могло быть сложным.
Один из моих учеников, бухгалтер с 15-летним стажем, решил сменить профессию в 40 лет. Он начал с этой же простой программы, а через полгода автоматизировал большую часть своей работы с помощью Python-скриптов. Теперь он ведущий разработчик в финтех-стартапе. Не бойтесь начинать с малого — даже самый длинный путь начинается с первого шага.

Базовые операции: создаем простой калькулятор
После приветствия с миром пора перейти к чему-то более практичному. Создадим простой консольный калькулятор, который демонстрирует базовые математические операции в Python.
Наш калькулятор будет принимать два числа от пользователя и выполнять одну из четырех базовых операций: сложение, вычитание, умножение или деление.
# Получаем ввод от пользователя
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
operation = input("Выберите операцию (+, -, *, /): ")
# Выполняем операцию в зависимости от выбора пользователя
if operation == "+":
result = num1 + num2
print(f"{num1} + {num2} = {result}")
elif operation == "-":
result = num1 – num2
print(f"{num1} – {num2} = {result}")
elif operation == "*":
result = num1 * num2
print(f"{num1} * {num2} = {result}")
elif operation == "/":
# Проверяем деление на ноль
if num2 != 0:
result = num1 / num2
print(f"{num1} / {num2} = {result}")
else:
print("Ошибка: деление на ноль!")
else:
print("Неизвестная операция!")
В этом коде мы использовали несколько важных концепций Python:
- Преобразование типов — функция float() преобразует ввод пользователя в число с плавающей точкой
- Условные конструкции — if, elif, else для выбора операции
- Операторы сравнения — проверка на равенство (==) и неравенство (!=)
- Базовые арифметические операции — +, -, *, /
Вы можете расширить этот калькулятор, добавив новые функции. Например, вычисление процента или извлечение квадратного корня. 📊
Давайте улучшим наш калькулятор, добавив возможность выполнять операции до тех пор, пока пользователь не решит выйти:
def calculator():
while True:
print("\nПростой калькулятор")
print("Доступные операции: +, -, *, /, ** (возведение в степень), exit (выход)")
# Получение выбора пользователя
choice = input("Выберите операцию: ")
# Проверка на выход
if choice.lower() == 'exit':
print("До свидания!")
break
# Получение чисел для операции
try:
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
except ValueError:
print("Ошибка: введите корректное число!")
continue
# Выполнение выбранной операции
if choice == '+':
print(f"Результат: {num1 + num2}")
elif choice == '-':
print(f"Результат: {num1 – num2}")
elif choice == '*':
print(f"Результат: {num1 * num2}")
elif choice == '/':
if num2 == 0:
print("Ошибка: деление на ноль!")
else:
print(f"Результат: {num1 / num2}")
elif choice == '**':
print(f"Результат: {num1 ** num2}")
else:
print("Неизвестная операция!")
# Запуск калькулятора
calculator()
Здесь мы добавили:
- Цикл while — для непрерывной работы программы
- Функции — организация кода в отдельный блок
- Обработку исключений — try/except для защиты от некорректного ввода
- Дополнительные операции — возведение в степень (**)
Игровые проекты: угадай число и камень-ножницы-бумага
Игры — отличный способ практиковать навыки программирования, одновременно создавая что-то увлекательное. Разработаем две простые игры: "Угадай число" и "Камень-ножницы-бумага".
Начнем с классики — игры "Угадай число", где компьютер загадывает число, а игрок пытается его угадать:
import random
def guess_the_number():
# Компьютер загадывает случайное число от 1 до 100
secret_number = random.randint(1, 100)
attempts = 0
max_attempts = 10
print("Добро пожаловать в игру 'Угадай число'!")
print(f"Я загадал число от 1 до 100. У вас {max_attempts} попыток.")
while attempts < max_attempts:
# Получаем предположение игрока
try:
guess = int(input(f"Попытка {attempts + 1}. Ваше предположение: "))
except ValueError:
print("Пожалуйста, введите целое число.")
continue
attempts += 1
# Проверяем предположение
if guess < secret_number:
print("Загаданное число больше.")
elif guess > secret_number:
print("Загаданное число меньше.")
else:
print(f"Поздравляю! Вы угадали число {secret_number} за {attempts} попыток!")
return
print(f"К сожалению, попытки закончились. Загаданное число было: {secret_number}")
# Запускаем игру
guess_the_number()
В этой игре мы использовали:
- Модуль random — для генерации случайного числа
- Циклы — для повторения попыток угадывания
- Условные конструкции — для проверки угадывания
- Обработку исключений — для защиты от некорректного ввода
Теперь создадим игру "Камень-ножницы-бумага", где игрок соревнуется с компьютером:
import random
def rock_paper_scissors():
choices = ["камень", "ножницы", "бумага"]
player_score = 0
computer_score = 0
rounds = 3
print("Игра 'Камень-ножницы-бумага'")
print(f"Играем до {rounds} побед!")
while player_score < rounds and computer_score < rounds:
# Ход компьютера
computer_choice = random.choice(choices)
# Ход игрока
player_choice = input("\nВаш ход (камень, ножницы, бумага): ").lower()
# Проверяем корректность ввода
if player_choice not in choices:
print("Некорректный ввод. Пожалуйста, выберите: камень, ножницы или бумага.")
continue
print(f"Вы выбрали: {player_choice}")
print(f"Компьютер выбрал: {computer_choice}")
# Определяем победителя
if player_choice == computer_choice:
print("Ничья!")
elif (player_choice == "камень" and computer_choice == "ножницы") or \
(player_choice == "ножницы" and computer_choice == "бумага") or \
(player_choice == "бумага" and computer_choice == "камень"):
print("Вы выиграли раунд!")
player_score += 1
else:
print("Компьютер выиграл раунд!")
computer_score += 1
print(f"Счет: Вы {player_score} – {computer_score} Компьютер")
# Объявляем общего победителя
if player_score > computer_score:
print("\nПоздравляем! Вы выиграли игру!")
else:
print("\nКомпьютер выиграл игру. Попробуйте еще раз!")
# Запускаем игру
rock_paper_scissors()
В этой игре мы использовали дополнительные концепции:
- Списки — для хранения возможных вариантов выбора
- Метод .lower() — для приведения ввода к нижнему регистру
- Сложные условия — с использованием оператора or
- Отслеживание состояния — счет игрока и компьютера
| Игра | Ключевые концепции | Сложность (1-5) | Образовательная ценность |
|---|---|---|---|
| Угадай число | Случайные числа, циклы, условия | 2 | Базовый ввод/вывод, логика |
| Камень-ножницы-бумага | Списки, строки, сложные условия | 3 | Управление состоянием, логика выбора |
| Виселица (доп.) | Строки, списки, файловый ввод | 4 | Обработка строк, визуализация |
| Текстовый квест (доп.) | Словари, функции, ветвление | 4 | Структуры данных, дизайн игры |
Эти игры не только демонстрируют базовые концепции программирования, но и мотивируют продолжать обучение. Когда вы видите, как ваш код "оживает" и становится интерактивным, это приносит огромное удовлетворение! 🎮
Мария Волкова, преподаватель программирования
Когда я начала преподавать Python школьникам, столкнулась с проблемой — теория быстро надоедала, а внимание рассеивалось. Всё изменилось, когда мы перешли к созданию простых игр.
Особенно запомнился случай с Димой, 14-летним учеником, который считал программирование "скучным". Мы начали с игры "Угадай число", и я предложила ему модифицировать её, добавив подсказки и уровни сложности. Через неделю он принёс не просто модификацию — а полноценную консольную игру с графическим интерфейсом на Tkinter! Он самостоятельно нашёл информацию о библиотеке и реализовал её.
Сегодня Дима изучает алгоритмы и структуры данных, а его игра "Угадай число" используется как демо-проект для новых учеников. Игры — это не просто развлечение, это мощный образовательный инструмент, который превращает пассивное обучение в активное творчество.
Обработка данных: работа со списками и строками
Обработка данных — ключевой навык для любого программиста. Python предлагает мощные инструменты для работы со строками и списками, что делает его идеальным языком для манипуляции данными. Рассмотрим несколько полезных примеров.
Начнем с создания программы, которая анализирует текст и выдает статистику:
def analyze_text(text):
# Преобразуем текст к нижнему регистру и разбиваем на слова
words = text.lower().split()
# Удаляем знаки препинания из слов
clean_words = []
for word in words:
clean_word = ''.join(char for char in word if char.isalnum())
if clean_word: # Проверяем, что слово не пустое
clean_words.append(clean_word)
# Считаем количество слов
word_count = len(clean_words)
# Находим самое часто встречающееся слово
word_frequency = {}
for word in clean_words:
if word in word_frequency:
word_frequency[word] += 1
else:
word_frequency[word] = 1
most_common_word = max(word_frequency, key=word_frequency.get)
most_common_count = word_frequency[most_common_word]
# Средняя длина слова
total_length = sum(len(word) for word in clean_words)
avg_word_length = total_length / word_count if word_count > 0 else 0
# Выводим статистику
print(f"Всего слов: {word_count}")
print(f"Самое частое слово: '{most_common_word}' (встречается {most_common_count} раз)")
print(f"Средняя длина слова: {avg_word_length:.2f} символов")
return word_frequency
# Пример использования
sample_text = """
Python — высокоуровневый язык программирования общего назначения.
Python ориентирован на повышение производительности разработчика и читаемости кода.
Синтаксис Python минималистичен, а стандартная библиотека включает большой объём полезных функций.
"""
word_stats = analyze_text(sample_text)
print("\nЧастота всех слов:")
for word, count in sorted(word_stats.items(), key=lambda x: x[1], reverse=True):
print(f"'{word}': {count}")
В этом примере мы использовали следующие концепции обработки данных:
- Строковые методы — .lower(), .split() для трансформации текста
- Списки и генераторы списков — для хранения и обработки слов
- Словари — для подсчета частоты слов
- Функции высшего порядка — max() с ключевым параметром
- Сортировка — sorted() с параметрами
Теперь создадим программу, которая демонстрирует различные операции со списками:
def list_operations_demo():
# Создаем исходный список
numbers = [10, 5, 8, 3, 7, 2, 9, 4, 6, 1]
print(f"Исходный список: {numbers}")
# 1. Доступ к элементам
print(f"\n1. Доступ к элементам:")
print(f"Первый элемент: {numbers[0]}")
print(f"Последний элемент: {numbers[-1]}")
print(f"Срез [2:5]: {numbers[2:5]}")
# 2. Изменение списка
print(f"\n2. Изменение списка:")
numbers.append(11) # Добавление элемента в конец
print(f"После append(11): {numbers}")
numbers.insert(1, 20) # Вставка элемента по индексу
print(f"После insert(1, 20): {numbers}")
popped = numbers.pop() # Удаление и возврат последнего элемента
print(f"После pop(): {numbers}, удален: {popped}")
numbers.remove(5) # Удаление первого вхождения значения
print(f"После remove(5): {numbers}")
# 3. Сортировка и другие операции
print(f"\n3. Сортировка и другие операции:")
numbers.sort() # Сортировка по возрастанию
print(f"После sort(): {numbers}")
numbers.reverse() # Разворот списка
print(f"После reverse(): {numbers}")
# 4. Создание нового списка с помощью генератора списка
print(f"\n4. Генераторы списков:")
squares = [x**2 for x in numbers]
print(f"Квадраты чисел: {squares}")
even_numbers = [x for x in numbers if x % 2 == 0]
print(f"Четные числа: {even_numbers}")
# 5. Агрегация данных
print(f"\n5. Агрегация данных:")
print(f"Сумма всех чисел: {sum(numbers)}")
print(f"Минимальное число: {min(numbers)}")
print(f"Максимальное число: {max(numbers)}")
print(f"Среднее арифметическое: {sum(numbers) / len(numbers)}")
# Запускаем демонстрацию
list_operations_demo()
Здесь мы изучили широкий спектр операций со списками:
- Индексирование и срезы — доступ к элементам по индексу и получение частей списка
- Методы списков — .append(), .insert(), .pop(), .remove(), .sort(), .reverse()
- Генераторы списков — компактный синтаксис для создания новых списков
- Встроенные функции — sum(), min(), max() для агрегации данных
Эти примеры демонстрируют, как Python упрощает обработку данных, предлагая мощные и выразительные инструменты. Вы можете использовать эти концепции для анализа текста, обработки числовых данных или трансформации информации в любых проектах. 📊
Графические приложения: первые шаги с Tkinter Python
Консольные приложения — отличное начало, но создание графического интерфейса открывает новые горизонты. Tkinter — стандартная библиотека Python для создания GUI (графического пользовательского интерфейса), которая поставляется с самим Python. Давайте создадим несколько простых, но визуально привлекательных приложений с ее помощью.
Начнем с базового приложения — простого калькулятора с графическим интерфейсом:
import tkinter as tk
from tkinter import messagebox
def create_calculator():
def calculate():
try:
num1 = float(entry_num1.get())
num2 = float(entry_num2.get())
operation = operation_var.get()
if operation == "+":
result = num1 + num2
elif operation == "-":
result = num1 – num2
elif operation == "*":
result = num1 * num2
elif operation == "/":
if num2 == 0:
messagebox.showerror("Ошибка", "Деление на ноль невозможно!")
return
result = num1 / num2
result_label.config(text=f"Результат: {result}")
except ValueError:
messagebox.showerror("Ошибка", "Пожалуйста, введите корректные числа")
# Создаем основное окно
window = tk.Tk()
window.title("Простой калькулятор")
window.geometry("300x200")
window.resizable(False, False)
# Создаем элементы интерфейса
tk.Label(window, text="Первое число:").grid(row=0, column=0, padx=10, pady=10)
entry_num1 = tk.Entry(window)
entry_num1.grid(row=0, column=1, padx=10, pady=10)
tk.Label(window, text="Второе число:").grid(row=1, column=0, padx=10, pady=10)
entry_num2 = tk.Entry(window)
entry_num2.grid(row=1, column=1, padx=10, pady=10)
tk.Label(window, text="Операция:").grid(row=2, column=0, padx=10, pady=10)
operation_var = tk.StringVar(window)
operation_var.set("+") # значение по умолчанию
operations = ["+", "-", "*", "/"]
operation_menu = tk.OptionMenu(window, operation_var, *operations)
operation_menu.grid(row=2, column=1, padx=10, pady=10)
calculate_button = tk.Button(window, text="Вычислить", command=calculate)
calculate_button.grid(row=3, column=0, columnspan=2, padx=10, pady=10)
result_label = tk.Label(window, text="Результат: ")
result_label.grid(row=4, column=0, columnspan=2, padx=10, pady=10)
# Запускаем главный цикл обработки событий
window.mainloop()
# Запускаем приложение
create_calculator()
В этом примере мы использовали следующие возможности Tkinter:
- Создание основного окна — tk.Tk()
- Размещение элементов с помощью grid — удобное позиционирование виджетов
- Различные виджеты — Label, Entry, Button, OptionMenu
- Обработка событий — функция calculate вызывается при нажатии на кнопку
- Диалоговые окна — messagebox для вывода сообщений об ошибках
Теперь создадим более интерактивное приложение — простую игру "Кликер" с графическим интерфейсом:
import tkinter as tk
import random
def create_clicker_game():
def increase_score():
nonlocal score
score += 1
score_label.config(text=f"Счет: {score}")
# Изменяем положение кнопки при клике
x = random.randint(50, 350)
y = random.randint(50, 250)
click_button.place(x=x, y=y)
# Изменяем цвет кнопки
colors = ["#ff0000", "#00ff00", "#0000ff", "#ffff00", "#ff00ff", "#00ffff"]
click_button.config(bg=random.choice(colors))
# Обновляем таймер
if score == 1:
update_timer()
def update_timer():
nonlocal time_left
if time_left > 0:
time_left -= 1
timer_label.config(text=f"Время: {time_left}")
window.after(1000, update_timer)
else:
click_button.place_forget()
final_score = score
result_label.config(text=f"Игра окончена! Ваш счет: {final_score}")
# Добавляем кнопку для перезапуска игры
restart_button = tk.Button(window, text="Играть снова", command=lambda: restart_game(restart_button))
restart_button.place(x=150, y=150)
def restart_game(button):
nonlocal score, time_left
score = 0
time_left = 30
score_label.config(text=f"Счет: {score}")
timer_label.config(text=f"Время: {time_left}")
result_label.config(text="")
button.place_forget()
click_button.place(x=150, y=150)
# Создаем основное окно
window = tk.Tk()
window.title("Игра Кликер")
window.geometry("400x300")
window.resizable(False, False)
# Инициализируем переменные
score = 0
time_left = 30
# Создаем элементы интерфейса
score_label = tk.Label(window, text=f"Счет: {score}", font=("Arial", 14))
score_label.pack(pady=10)
timer_label = tk.Label(window, text=f"Время: {time_left}", font=("Arial", 14))
timer_label.pack(pady=10)
result_label = tk.Label(window, text="", font=("Arial", 14))
result_label.pack(pady=10)
click_button = tk.Button(window, text="Нажми меня!", command=increase_score,
font=("Arial", 12), bg="#ff9900", width=10, height=2)
click_button.place(x=150, y=150)
# Запускаем главный цикл обработки событий
window.mainloop()
# Запускаем игру
create_clicker_game()
В этой игре мы использовали дополнительные концепции Tkinter:
- Управление геометрией — методы .pack() и .place() для размещения виджетов
- Динамическое изменение свойств виджетов — изменение цвета и положения
- Таймер — window.after() для выполнения действий через определенные интервалы
- Обновление интерфейса — изменение текста меток и видимости кнопок
Tkinter Python предлагает огромные возможности для создания графических приложений, от простых утилит до полноценных программ. Эти примеры демонстрируют базовые принципы, которые вы можете расширять и комбинировать для создания более сложных интерфейсов. 🖌️
Создание собственных программ на Python — это не просто обучение синтаксису, а путь к настоящему программному мышлению. Начиная с простой команды print("Hello, World!") и продвигаясь к интерактивным графическим приложениям, вы осваиваете фундаментальные принципы, которые применимы в любой области разработки. Самое ценное в этом путешествии — не идеальный код, а уверенность, которую вы приобретаете с каждой решенной проблемой и каждой работающей программой. Продолжайте экспериментировать, задавать вопросы и строить свои собственные проекты — именно так рождаются настоящие программисты!
Читайте также
- Базовый синтаксис Python: 7 конструкций для начинающих программистов
- Ruby: как создать первую программу от Hello World до калькулятора
- JavaScript для начинающих: простые шаги к интерактивным сайтам
- Самые простые языки программирования для новичков: топ-7 выбор
- Начни изучать JavaScript прямо сейчас: 10 простых примеров кода для новичков
- Синтаксис Scratch: основы программирования блоками для новичков
- 10 простых проектов в Scratch: от первого кода к играм и анимации
- Python: идеальный язык для начинающих программистов – 5 причин
- Ruby: элегантный язык программирования для начинающих кодеров


