Python для начинающих: 5 простых примеров программ – стартуем

Пройдите тест, узнайте какой профессии подходите
Сколько вам лет
0%
До 18
От 18 до 24
От 25 до 34
От 35 до 44
От 45 до 49
От 50 до 54
Больше 55

Для кого эта статья:

  • Начинающие программисты, ищущие простые примеры кода на Python
  • Люди, желающие освоить Python для профессионального роста
  • Учителя и преподаватели, желающие использовать практические примеры для обучения студентов

    Программирование на Python — это не хождение по минному полю, а увлекательное приключение! Я помню свой первый код и тот восторг, когда консоль вывела "Hello, World!". Каждый мастер начинал с малого. В этом руководстве мы разберем 5 простых, но мощных примеров программ на Python, которые станут вашим трамплином в мир разработки. От базовых операций до графических приложений — вы удивитесь, насколько быстро сможете создать что-то работающее! 🚀

Хотите не просто изучать Python по примерам, а освоить его на профессиональном уровне? Курс Обучение Python-разработке от Skypro — это структурированная программа с практическими заданиями, проверкой кода ментором и реальными проектами в портфолио. Пока вы экспериментируете с кодом из нашей статьи, задумайтесь: может, пришло время превратить хобби в востребованную профессию? 🐍

Старт с нуля: первая программа "Hello, World!"

Традиционно знакомство с любым языком программирования начинается с программы "Hello, World!". Это своеобразный ритуал посвящения в программисты. На Python эта программа выглядит предельно просто:

print("Hello, World!")

Всего одна строка кода, но эта строка открывает двери в мир программирования на Python. Функция print() выводит в консоль то, что передано ей в качестве аргумента. В данном случае, это строка "Hello, World!".

Давайте разберем процесс создания и запуска вашей первой программы:

  1. Установите Python с официального сайта python.org
  2. Откройте любой текстовый редактор или среду разработки (IDE), например, PyCharm или Visual Studio Code
  3. Создайте новый файл с расширением .py, например, hello.py
  4. Напишите в файле строку кода: print("Hello, World!")
  5. Сохраните файл
  6. Запустите программу через командную строку: 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!") и продвигаясь к интерактивным графическим приложениям, вы осваиваете фундаментальные принципы, которые применимы в любой области разработки. Самое ценное в этом путешествии — не идеальный код, а уверенность, которую вы приобретаете с каждой решенной проблемой и каждой работающей программой. Продолжайте экспериментировать, задавать вопросы и строить свои собственные проекты — именно так рождаются настоящие программисты!

Читайте также

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой код выводит фразу 'Hello, World!' на экран?
1 / 5

Загрузка...