Найти в Дзене
Свой Педагог

От новичка до junior-разработчика: 10 реальных задач на Python для старшеклассников

Привет, будущий IT-специалист! Если ты учишься в 10-11 классе и хочешь не просто выучить Python, а сразу научиться применять его для решения реальных проблем, ты по адресу. Синтаксис и теория — это скучно, пока не видишь, как твой код оживает и делает что-то полезное. Мы подготовили 10 практических задач с готовыми программами. Они покажут тебе, что программирование — это не только про академические знания, но и про автоматизацию рутины, анализ данных и даже создание собственных инструментов. Поехали! Практическая цель: Создать программу, которая всегда показывает актуальный курс. Больше не нужно гуглить! Что изучаем: Работа с API (интерфейсом для получения данных из интернета), обработка JSON. python import requests
def currency_converter(amount, from_currency, to_currency):
# Используем бесплатный API для получения курсов
url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"
response = requests.get(url)
data = response.json()
rate = data['rates
Оглавление

Привет, будущий IT-специалист! Если ты учишься в 10-11 классе и хочешь не просто выучить Python, а сразу научиться применять его для решения реальных проблем, ты по адресу. Синтаксис и теория — это скучно, пока не видишь, как твой код оживает и делает что-то полезное.

Мы подготовили 10 практических задач с готовыми программами. Они покажут тебе, что программирование — это не только про академические знания, но и про автоматизацию рутины, анализ данных и даже создание собственных инструментов. Поехали!

Задача 1: Умный конвертер валют

Практическая цель: Создать программу, которая всегда показывает актуальный курс. Больше не нужно гуглить!

Что изучаем: Работа с API (интерфейсом для получения данных из интернета), обработка JSON.

python

import requests

def currency_converter(amount, from_currency, to_currency):
# Используем бесплатный API для получения курсов
url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"
response = requests.get(url)
data = response.json()

rate = data['rates'][to_currency]
converted_amount = amount * rate
print(f"{amount} {from_currency} = {converted_amount:.2f} {to_currency}")

# Пример использования
amount = float(input("Введите сумму: "))
from_curr = input("Из валюты (например, USD): ").upper()
to_curr = input("В валюту (например, RUB): ").upper()

currency_converter(amount, from_curr, to_curr)

Задача 2: Персональный бюджет на месяц

Практическая цель: Вести учет доходов и расходов, чтобы всегда знать, на что уходят деньги.

Что изучаем: Работа со словарями, циклами и файлами для сохранения данных.

python

import json

def add_transaction(transactions):
type_ = input("Тип (доход/расход): ").lower()
category = input("Категория (еда, транспорт, зарплата...): ")
amount = float(input("Сумма: "))
transactions.append({"type": type_, "category": category, "amount": amount})

def show_finance(transactions):
total_income = sum(t['amount'] for t in transactions if t['type'] == 'доход')
total_expense = sum(t['amount'] for t in transactions if t['type'] == 'расход')
balance = total_income - total_expense
print(f"Доходы: {total_income}, Расходы: {total_expense}, Баланс: {balance}")

# Основной цикл программы
transactions = []
while True:
command = input("\n1 - Добавить операцию\n2 - Показать статистику\n3 - Выход\n")
if command == '1':
add_transaction(transactions)
elif command == '2':
show_finance(transactions)
elif command == '3':
break

Задача 3: Генератор безопасных паролей

Практическая цель: Больше не придумывать пароли вручную. Пусть это делает программа!

Что изучаем: Модуль random для генерации случайных последовательностей.

python

import random
import string

def generate_password(length=12):
characters = string.ascii_letters + string.digits + "!@#$%&*"
password = ''.join(random.choice(characters) for _ in range(length))
return password

# Генерируем 3 пароля
for i in range(3):
print(f"Пароль {i+1}: {generate_password()}")

Задача 4: Мини-викторина

Практическая цель: Создать свою собственную игру-викторину. Можно использовать для подготовки к экзаменам!

Что изучаем: Структуры данных (списки и кортежи), организация логики программы.

python

def run_quiz(questions):
score = 0
for question, options, correct_answer in questions:
print(f"\n{question}")
for i, option in enumerate(options, 1):
print(f"{i}. {option}")

user_answer = int(input("Ваш ответ (номер): "))
if options[user_answer - 1] == correct_answer:
print("Верно!")
score += 1
else:
print(f"Неверно! Правильный ответ: {correct_answer}")

print(f"\nВаш итоговый счет: {score}/{len(questions)}")

# Список вопросов: (Вопрос, [Варианты], Правильный ответ)
quiz_questions = [
("Какая планета известна как 'Красная планета'?", ["Венера", "Марс", "Юпитер"], "Марс"),
("Сколько будет 2+2*2?", ["6", "8", "10"], "6"),
]

run_quiz(quiz_questions)

Задача 5: Анализатор текста

Практическая цель: Проанализировать любой текст: посчитать слова, символы и частоту употребления слов.

Что изучаем: Работа со строками, использование коллекций Counter для анализа.

python

from collections import Counter

def text_analyzer(text):
words = text.split()
word_count = len(words)
char_count = len(text)
char_no_spaces = len(text.replace(" ", ""))

# Считаем частоту слов
word_freq = Counter(words)
most_common = word_freq.most_common(3)
# Топ-3 слова

print(f"Количество слов: {word_count}")
print(f"Количество символов (с пробелами): {char_count}")
print(f"Количество символов (без пробелов): {char_no_spaces}")
print(f"Самые частые слова: {most_common}")

# Пример использования
user_text = input("Введите текст для анализа: ")
text_analyzer(user_text)

Задача 6: Список дел (To-Do List)

Практическая цель: Классическое, но очень полезное приложение для планирования дня.

Что изучаем: CRUD-операции (Создание, Чтение, Обновление, Удаление), работа со списками.

python

def show_tasks(tasks):
print("\nВаш список дел:")
for i, task in enumerate(tasks, 1):
status = "[x]" if task['done'] else "[ ]"
print(f"{i}. {status} {task['name']}")

tasks = []
while True:
show_tasks(tasks)
command = input("\n1 - Добавить\n2 - Выполнить\n3 - Удалить\n4 - Выход\n")

if command == '1':
new_task = input("Введите задачу: ")
tasks.append({'name': new_task, 'done': False})
elif command == '2':
task_num = int(input("Номер выполненной задачи: ")) - 1
if 0 <= task_num < len(tasks):
tasks[task_num]['done'] = True
elif command == '3':
task_num = int(input("Номер задачи для удаления: ")) - 1
if 0 <= task_num < len(tasks):
tasks.pop(task_num)
elif command == '4':
break

Задача 7: Калькулятор сложного процента

Практическая цель: Увидеть магию сложного процента и понять, как растут твои инвестиции.

Что изучаем: Математические вычисления, циклы для моделирования процессов.

python

def compound_interest(principal, rate, years):
amount = principal
print(f"\nГод | Сумма на конец года")
print("-" * 30)
for year in range(1, years + 1):
amount = amount * (1 + rate / 100)
print(f"{year:3} | {amount:,.2f} руб.")
return amount

# Ввод данных
p = float(input("Начальная сумма (руб.): "))
r = float(input("Годовая процентная ставка (%): "))
t = int(input("Срок (лет): "))

result = compound_interest(p, r, t)
print(f"\nИтоговая сумма за {t} лет: {result:,.2f} руб.")

Задача 8: Угадай число (искусственный интеллект)

Практическая цель: На этот раз компьютер угадывает твое число, используя алгоритм бинарного поиска.

Что изучаем: Алгоритмы (бинарный поиск), стратегии решения задач.

python

def computer_guesses():
low = 1
high = 1000
attempts = 0

print("Загадайте число от 1 до 1000, а компьютер попробует угадать!")
input("Нажмите Enter, когда будете готовы...")

while low <= high:
attempts += 1
guess = (low + high) // 2
feedback = input(f"Это {guess}? (Введите 'больше', 'меньше' или 'угадал'): ").lower()

if feedback == 'угадал':
print(f"Компьютер угадал за {attempts} попыток!")
break
elif feedback == 'больше':
low = guess + 1
elif feedback == 'меньше':
high = guess - 1

computer_guesses()

Задача 9: Сканер погоды

Практическая цель: Быстро проверять погоду в любом городе мира, не заходя на сайты.

Что изучаем: Продвинутая работа с API, обработка ошибок.

python

import requests

def get_weather(city_name):
# Используем OpenWeatherMap API (нужен бесплатный ключ)
api_key = "YOUR_API_KEY"
# Зарегистрируйся на openweathermap.org и получи ключ!
url = f"http://api.openweathermap.org/data/2.5/weather?q={city_name}&appid={api_key}&units=metric&lang=ru"

response = requests.get(url)
if response.status_code == 200:
data = response.json()
temp = data['main']['temp']
desc = data['weather'][0]['description']
print(f"Погода в {city_name}: {temp}°C, {desc}")
else:
print("Город не найден или ошибка соединения")

city = input("Введите название города: ")
get_weather(city)

Задача 10: Шифровальщик/Дешифровальщик Цезаря

Практическая цель: Отправлять друзьем зашифрованные сообщения. Стань своим криптографом!

Что изучаем: Алгоритмы шифрования, работа с символами.

python

def caesar_cipher(text, shift, mode='encrypt'):
result = ""
for char in text:
if char.isalpha():
shift_base = 65 if char.isupper() else 97
if mode == 'encrypt':
new_char = chr((ord(char) - shift_base + shift) % 26 + shift_base)
else:
new_char = chr((ord(char) - shift_base - shift) % 26 + shift_base)
result += new_char
else:
result += char
return result

# Пример использования
message = input("Введите сообщение: ")
shift = int(input("Введите сдвиг: "))
action = input("Шифровать или дешифровать? (encrypt/decrypt): ")

processed_text = caesar_cipher(message, shift, action)
print(f"Результат: {processed_text}")

Что дальше?

Эти задачи — отличный старт. Они покрывают основные концепции Python и показывают его силу в реальном мире. Дальше ты можешь углубиться в:

  • Веб-разработку с Flask/Django
  • Data Science с библиотеками Pandas и Matplotlib
  • Автоматизацию с Selenium для работы с браузером
  • Создание игр на PyGame

Помни: лучший способ научиться программировать — это писать код. Много кода! Выбери задачу, которая интересна тебе больше всего, и начни с нее. Удачи!

Присоединяйтесь к нашему каналу в ДЗЕН «Учитель версии 4.0»!

Будем рады видеть вас среди наших подписчиков. На канале вас ждет эксклюзивный контент:

  • Разборы сложных задач по Информатике.
  • Советы по использованию Digital-инструментов в учебе.
  • Актуальные новости из мира образовательных технологий.

Подписывайтесь, чтобы быть в курсе!

Учитель Информатики
Халтурина Надежда Вячеславовна


#Python #программирование #задачипопитон #обучение #школьники #IT #разработка #Pythonдляначинающих #образование #кодинг #проектынаPython #10класс #11класс #ЕГЭинформатика #саморазвитие

10 реальных задач на Python для старшеклассников
10 реальных задач на Python для старшеклассников