deleted: content/posts/informatics/python-data-types-solution.mdx new file: content/posts/informatics/python-list-solution.mdx new file: content/posts/informatics/python-types-solution.mdxmain
parent
8a39d2adec
commit
7d8b1c0776
@ -1,171 +0,0 @@ |
||||
--- |
||||
title: Python. Типы данных. int (целые числа) |
||||
excerpt: Python. Решение математической задачи на языке Python. |
||||
date: '2023-09-14' |
||||
tags: |
||||
- Информатика |
||||
- Программирование |
||||
- Python |
||||
--- |
||||
|
||||
<TableOfContents> |
||||
|
||||
- [Урок 1](#урок-1) |
||||
- [Урок 1.1](#урок-11) |
||||
- [Урок 1.2](#урок-12) |
||||
|
||||
</TableOfContents> |
||||
|
||||
## Урок 1 |
||||
|
||||
## Задание: |
||||
|
||||
#### Вам необходимо написать программу на языке Python для решения следующей задачи: |
||||
|
||||
Робот-марафонец начинает движение из точки A и двигается по пятиугольному маршруту, состоящему из 5 сторон по 200 метров каждая. Если диаметр колеса робота составляет 40 см, сколько оборотов каждого колеса робота он сделает, чтобы вернуться в точку A? |
||||
|
||||
## Решение: |
||||
1. Найдем длину пятиугольного маршрута, который состоит из 5 сторон по 200 метров каждая. Общая длина маршрута равна 5 * 200 метров = 1000 метров. |
||||
2. Теперь, чтобы найти, сколько оборотов делает колесо робота, чтобы пройти 1000 метров, мы можем использовать формулу: |
||||
|
||||
* Обороты = Длина маршрута / Длина окружности колеса |
||||
|
||||
* Длина окружности колеса можно найти с помощью формулы: Длина окружности = π * Диаметр колеса. |
||||
|
||||
3. Подставим значения и найдем количество оборотов: |
||||
|
||||
```python |
||||
import math |
||||
# Длина маршрута в метрах |
||||
длина_маршрута = 1000 |
||||
|
||||
# Диаметр колеса в метрах (переведенный из сантиметров) |
||||
диаметр_колеса = 40 / 100 |
||||
|
||||
# Найдем длину окружности колеса |
||||
длина_окружности_колеса = math.pi * диаметр_колеса |
||||
|
||||
# Найдем количество оборотов колеса |
||||
количество_оборотов = длина_маршрута / длина_окружности_колеса |
||||
|
||||
# Выведем результат |
||||
print(f"Чтобы вернуться в точку A, робот сделает {количество_оборотов} оборотов колеса.") |
||||
``` |
||||
|
||||
### Cписок функций необходимых для решения данных задач |
||||
1. Функция max() для поиска максимального значения. |
||||
2. Оператор % для вычисления остатка от деления. |
||||
3. Оператор % для проверки четности/нечетности числа. |
||||
4. Оператор * для умножения двух чисел. |
||||
5. Оператор == для проверки равенства числа нулю. |
||||
6. Функция len() для получения длины строки или списка. |
||||
7. Оператор // для целочисленного деления. |
||||
8. Оператор != для проверки неравенства двух значений. |
||||
9. Функция round() для округления числа до определенного количества знаков после запятой. |
||||
10. Оператор ** для возведения числа в степень. |
||||
|
||||
|
||||
## Урок 1.1 |
||||
|
||||
## Задания для самостоятельной работы |
||||
|
||||
1. Найти максимальное из двух целых чисел. |
||||
2. Вычислить остаток от деления на 10 заданного трехзначного числа. |
||||
3. Проверить, является ли заданное число нечетным. |
||||
4. Вычислить произведение двух целых чисел. |
||||
5. Проверить, является ли заданное число равным нулю. |
||||
|
||||
### Пример решения |
||||
|
||||
1. Найти минимальное из двух целых чисел. |
||||
|
||||
```python |
||||
|
||||
def min_integer(a, b): |
||||
return min(a, b) |
||||
|
||||
print(min_integer(7, 12)) # Output: 7 |
||||
|
||||
``` |
||||
|
||||
2. Вычислить остаток от деления на 10 заданного трехзначного числа. |
||||
|
||||
```python |
||||
|
||||
def remainder_10(n): |
||||
return n % 10 |
||||
|
||||
print(remainder_10(456)) # Output: 6 |
||||
|
||||
``` |
||||
|
||||
3. Проверить, является ли заданное число нечетным. |
||||
|
||||
|
||||
```python |
||||
|
||||
def is_odd(n): |
||||
return n % 2 != 0 |
||||
|
||||
print(is_odd(9)) # Output: True |
||||
|
||||
``` |
||||
|
||||
4. Вычислить произведение двух целых чисел. |
||||
|
||||
```python |
||||
|
||||
def multiply(a, b): |
||||
return a * b |
||||
|
||||
print(multiply(5, 8)) # Output: 40 |
||||
|
||||
``` |
||||
|
||||
5. Проверить, является ли заданное число равным нулю. |
||||
|
||||
```python |
||||
|
||||
def is_zero(n): |
||||
return n == 0 |
||||
|
||||
print(is_zero(0)) # Output: True |
||||
|
||||
``` |
||||
|
||||
|
||||
## Урок 1.2 |
||||
|
||||
## Задания для самостоятельной работы |
||||
|
||||
1. Вычисление площади квадрата по длине стороны. |
||||
2. Вычисление периметра прямоугольника по длинам двух сторон. |
||||
3. Вычисление объема параллелепипеда по длинам трех его сторон. |
||||
4. Вычисление среднего арифметического двух чисел. |
||||
5. Вычисление площади круга по радиусу. |
||||
|
||||
### Пример решения |
||||
|
||||
1. Найти минимальное из двух целых чисел. |
||||
|
||||
```python |
||||
|
||||
def parallelepiped_volume(a, b, с): |
||||
return a * b * c |
||||
|
||||
print(min_integer(2, 3, 4)) # Output: 24 |
||||
|
||||
``` |
||||
|
||||
2. Вычисление периметра прямоугольника по длинам двух сторон. |
||||
|
||||
```python |
||||
|
||||
def parallelepiped_volume(a, b, с): |
||||
return a * b * c |
||||
|
||||
print(min_integer(2, 3, 4)) # Output: 24 |
||||
|
||||
``` |
||||
|
||||
[На главную](/) |
@ -0,0 +1,136 @@ |
||||
--- |
||||
title: Python. Список. list |
||||
excerpt: Python. Cписок в Python |
||||
date: '2023-09-20' |
||||
tags: |
||||
- Информатика |
||||
- Программирование |
||||
- Python |
||||
--- |
||||
|
||||
<TableOfContents> |
||||
|
||||
- [Урок 1](#урок-1) |
||||
|
||||
</TableOfContents> |
||||
|
||||
## Урок 1 |
||||
|
||||
### Теория |
||||
|
||||
Список в Python - это упорядоченный набор элементов, каждый из которых имеет свой номер, или индекс, позволяющий быстро получить к нему доступ. Нумерация элементов в списке начинается с 0. |
||||
|
||||
Списки в Python используются для хранения и работы с данными. Они могут содержать элементы любого типа, включая числа, строки, словари, другие списки и т.д. |
||||
|
||||
Создать список в Python можно несколькими способами: |
||||
|
||||
### С помощью квадратных скобок: |
||||
|
||||
```python |
||||
|
||||
my_list = [1, 2, 3] |
||||
|
||||
``` |
||||
|
||||
### С помощью функции list: |
||||
|
||||
```python |
||||
|
||||
my_list = list([1, 2, 3]) |
||||
|
||||
``` |
||||
|
||||
### С помощью оператора range: |
||||
|
||||
```python |
||||
|
||||
my_list = list(range(10)) |
||||
|
||||
``` |
||||
|
||||
Доступ к элементам списка можно получить с помощью индекса: |
||||
```python |
||||
|
||||
my_list = [1, 2, 3] |
||||
|
||||
print(my_list[0]) # 1 |
||||
print(my_list[1]) # 2 |
||||
print(my_list[2]) # 3 |
||||
|
||||
``` |
||||
Элементы списка можно добавлять, удалять, изменять и сортировать. Для этого используются методы и функции списков. |
||||
|
||||
Вот некоторые из наиболее распространенных методов списков в Python: |
||||
|
||||
* append() - добавляет элемент в конец списка |
||||
* insert() - вставляет элемент в список в указанной позиции |
||||
* extend() - добавляет элементы из одного списка в другой |
||||
* pop() - удаляет элемент из списка в указанной позиции |
||||
* remove() - удаляет первый элемент из списка, равный указанному |
||||
* sort() - сортирует список в порядке возрастания |
||||
|
||||
Вот пример использования методов списков в Python: |
||||
|
||||
```python |
||||
|
||||
my_list = [1, 2, 3] |
||||
|
||||
my_list.append(4) # [1, 2, 3, 4] |
||||
my_list.insert(1, 5) # [1, 5, 2, 3, 4] |
||||
my_list.extend([6, 7]) # [1, 5, 2, 3, 4, 6, 7] |
||||
|
||||
my_list.pop() # 4 |
||||
my_list.remove(2) # [1, 5, 3, 4] |
||||
my_list.sort() # [1, 3, 4, 5] |
||||
|
||||
``` |
||||
Списки в Python - это мощный инструмент, который может использоваться для решения широкого круга задач. |
||||
|
||||
## Практика: |
||||
|
||||
## Задания для самостоятельной работы |
||||
|
||||
1. Создать список чисел от 1 до 100 и найти среднее значение. |
||||
2. Создать список чисел и найти все четные числа. |
||||
3. Создать список чисел и отсортировать его в порядке возрастания. |
||||
4. Создать список чисел и найти все числа, которые делятся на 3. |
||||
5. Создать список чисел и найти произведение всех элементов списка. |
||||
|
||||
### Пример решения |
||||
|
||||
0. Создать список чисел и найти количество элементов списка, равных 0. |
||||
|
||||
```python |
||||
|
||||
# Создаем список чисел |
||||
numbers = [0, 2, 0, 4, 0, 6, 8, 0] |
||||
|
||||
# Используем метод count() для подсчета количества нулей в списке |
||||
count_of_zeros = numbers.count(0) |
||||
|
||||
# Выводим результат |
||||
print(count_of_zeros) |
||||
|
||||
``` |
||||
без функции count |
||||
|
||||
```python |
||||
# Создаем список чисел |
||||
numbers = [0, 2, 0, 4, 0, 6, 8, 0] |
||||
|
||||
# Инициализируем переменную для подсчета нулей |
||||
count_of_zeros = 0 |
||||
|
||||
# Используем цикл для прохода по каждому элементу списка |
||||
for number in numbers: |
||||
# Проверяем, является ли текущий элемент равным 0 |
||||
if number == 0: |
||||
# Если да, увеличиваем счетчик на 1 |
||||
count_of_zeros += 1 |
||||
|
||||
# Выводим результат |
||||
print("Количество элементов списка, равных 0:", count_of_zeros) |
||||
|
||||
``` |
||||
|
||||
[На главную](/) |
@ -0,0 +1,324 @@ |
||||
--- |
||||
title: Python. Типы данных. |
||||
excerpt: Python. int (целые числа), Вещественные числа (float) |
||||
date: '2023-09-14' |
||||
tags: |
||||
- Информатика |
||||
- Программирование |
||||
- Python |
||||
--- |
||||
|
||||
<TableOfContents> |
||||
|
||||
- [Урок 1](#урок-1) |
||||
- [Урок 1.1](#урок-11) |
||||
- [Урок 1.2](#урок-12) |
||||
|
||||
</TableOfContents> |
||||
|
||||
## Урок 1 |
||||
|
||||
## Теория: |
||||
В Python существует несколько основных типов данных. Вот некоторые из них: |
||||
|
||||
**Целые числа (int)**: Представляют целые числа, например, 5, -10, 1000. |
||||
|
||||
```python |
||||
|
||||
x = 5 |
||||
y = -10 |
||||
z = 1000 |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Вычислите сумму всех целых чисел от 1 до заданного пользователем числа. |
||||
2. Найдите наибольший общий делитель (НОД) двух целых чисел. |
||||
3. Проверьте, является ли заданное число простым (не имеет делителей, кроме 1 и самого себя). |
||||
|
||||
--- |
||||
|
||||
**Вещественные числа (float)**: Используются для представления чисел с плавающей запятой, например, 3.14, 2.0, -0.5. |
||||
|
||||
```python |
||||
|
||||
pi = 3.14159 |
||||
temperature = 23.5 |
||||
rate = -0.05 |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Вычислите площадь круга с заданным радиусом. |
||||
2. Рассчитайте среднее арифметическое списка оценок студентов (вещественные числа). |
||||
3. Преобразуйте температуру из градусов Цельсия в градусы Фаренгейта и наоборот. |
||||
|
||||
--- |
||||
|
||||
**Строки (str)**: Используются для представления текстовых данных, заключаются в одинарные или двойные кавычки, например, "Hello, World!", 'Python'. |
||||
|
||||
```python |
||||
|
||||
message = "Привет, мир!" |
||||
name = 'Python' |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Подсчитайте количество гласных букв в заданной строке. |
||||
2. Проверьте, является ли строка палиндромом (читается одинаково справа налево и слева направо). |
||||
3. Замените все пробелы в строке на дефисы. |
||||
|
||||
--- |
||||
|
||||
**Списки (list)**: Позволяют хранить упорядоченные коллекции элементов. Элементы списка могут быть разных типов, и они индексируются с помощью чисел, начиная с 0. |
||||
|
||||
```python |
||||
|
||||
fruits = ["яблоко", "банан", "апельсин"] |
||||
numbers = [1, 2, 3, 4, 5] |
||||
mixed = [1, "hello", 3.14] |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Найдите сумму всех элементов списка целых чисел. |
||||
2. Удалите дубликаты из списка. |
||||
3. Отсортируйте список в порядке возрастания или убывания. |
||||
|
||||
--- |
||||
|
||||
**Кортежи (tuple)**: Похожи на списки, но неизменяемы (элементы кортежа нельзя изменять после создания). |
||||
|
||||
```python |
||||
|
||||
coordinates = (3, 4) |
||||
colors = ("красный", "зеленый", "синий") |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Найдите индекс заданного элемента в кортеже. |
||||
2. Посчитайте количество вхождений определенного значения в кортеже. |
||||
3. Создайте новый кортеж, объединив два существующих кортежа. |
||||
|
||||
--- |
||||
|
||||
**Словари (dict)**: Используются для хранения пар ключ-значение. Ключи должны быть уникальными, и они позволяют быстро получать доступ к значениям. |
||||
|
||||
```python |
||||
|
||||
person = {"имя": "Иван", "возраст": 30, "город": "Москва"} |
||||
scores = {"математика": 95, "физика": 88, "химия": 75} |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Подсчитайте количество вхождений каждого элемента в списке и сохраните результаты в словаре. |
||||
2. Извлеките значение по заданному ключу из словаря и выведите его. |
||||
3. Объедините два словаря в один. |
||||
|
||||
--- |
||||
|
||||
**Множества (set)**: Представляют неупорядоченные коллекции уникальных элементов. Множества полезны, когда нужно убрать дубликаты из коллекции. |
||||
|
||||
```python |
||||
|
||||
unique_numbers = {1, 2, 3, 4, 5} |
||||
vowels = {'a', 'e', 'i', 'o', 'u'} |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Найдите пересечение двух множеств. |
||||
2. Проверьте, является ли одно множество подмножеством другого. |
||||
3. Удалите дубликаты из списка, используя множество. |
||||
|
||||
--- |
||||
|
||||
**Логический тип (bool)**: Имеет два значения: True и False. Используется для представления логических истин и ложных значений. |
||||
|
||||
```python |
||||
|
||||
is_true = True |
||||
is_false = False |
||||
|
||||
``` |
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Проверьте, является ли заданное число четным (True) или нечетным (False). |
||||
2. Проверьте, является ли строка пустой (False) или не пустой (True). |
||||
3. Сравните две переменные и верните результат сравнения в виде логического значения. |
||||
|
||||
--- |
||||
|
||||
**NoneType (None)**: Используется для представления отсутствия значения или нулевого значения. |
||||
|
||||
```python |
||||
|
||||
empty_value = None |
||||
|
||||
``` |
||||
**Задачи для самостоятельного решения** |
||||
|
||||
1. Напишите функцию, которая ничего не возвращает (возвращает None). |
||||
2. Проверьте, имеет ли переменная значение None и выполните действие в зависимости от этого. |
||||
3. Используйте None для инициализации переменной, которая будет заполняться данными позже. |
||||
|
||||
--- |
||||
|
||||
**Байтовые строки (bytes) и байтовые массивы (bytearray)**: Используются для работы с байтовыми данными, например, при чтении и записи файлов. |
||||
|
||||
```python |
||||
|
||||
data = b'hello' |
||||
byte_array = bytearray([65, 66, 67]) |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
--- |
||||
|
||||
**Объекты пользовательских классов**: Вы также можете создавать свои собственные типы данных, определяя классы. |
||||
|
||||
```python |
||||
|
||||
class Person: |
||||
def __init__(self, name, age): |
||||
self.name = name |
||||
self.age = age |
||||
|
||||
person1 = Person("Анна", 25) |
||||
person2 = Person("Иван", 30) |
||||
|
||||
``` |
||||
|
||||
**Задачи для самостоятельного решения** |
||||
|
||||
--- |
||||
|
||||
### Cписок функций необходимых для решения данных задач |
||||
1. Функция max() для поиска максимального значения. |
||||
2. Оператор % для вычисления остатка от деления. |
||||
3. Оператор % для проверки четности/нечетности числа. |
||||
4. Оператор * для умножения двух чисел. |
||||
5. Оператор == для проверки равенства числа нулю. |
||||
6. Функция len() для получения длины строки или списка. |
||||
7. Оператор // для целочисленного деления. |
||||
8. Оператор != для проверки неравенства двух значений. |
||||
9. Функция round() для округления числа до определенного количества знаков после запятой. |
||||
10. Оператор ** для возведения числа в степень. |
||||
|
||||
|
||||
## Урок 1.1 |
||||
|
||||
## Задания для самостоятельной работы |
||||
|
||||
1. Найти максимальное из двух целых чисел. |
||||
2. Вычислить остаток от деления на 10 заданного трехзначного числа. |
||||
3. Проверить, является ли заданное число нечетным. |
||||
4. Вычислить произведение двух целых чисел. |
||||
5. Проверить, является ли заданное число равным нулю. |
||||
|
||||
### Пример решения |
||||
|
||||
1. Найти минимальное из двух целых чисел. |
||||
|
||||
```python |
||||
|
||||
def min_integer(a, b): |
||||
return min(a, b) |
||||
|
||||
print(min_integer(7, 12)) # Output: 7 |
||||
|
||||
``` |
||||
|
||||
2. Вычислить остаток от деления на 10 заданного трехзначного числа. |
||||
|
||||
```python |
||||
|
||||
def remainder_10(n): |
||||
return n % 10 |
||||
|
||||
print(remainder_10(456)) # Output: 6 |
||||
|
||||
``` |
||||
|
||||
3. Проверить, является ли заданное число нечетным. |
||||
|
||||
|
||||
```python |
||||
|
||||
def is_odd(n): |
||||
return n % 2 != 0 |
||||
|
||||
print(is_odd(9)) # Output: True |
||||
|
||||
``` |
||||
|
||||
4. Вычислить произведение двух целых чисел. |
||||
|
||||
```python |
||||
|
||||
def multiply(a, b): |
||||
return a * b |
||||
|
||||
print(multiply(5, 8)) # Output: 40 |
||||
|
||||
``` |
||||
|
||||
5. Проверить, является ли заданное число равным нулю. |
||||
|
||||
```python |
||||
|
||||
def is_zero(n): |
||||
return n == 0 |
||||
|
||||
print(is_zero(0)) # Output: True |
||||
|
||||
``` |
||||
|
||||
|
||||
## Урок 1.2 |
||||
|
||||
## Задания для самостоятельной работы |
||||
|
||||
1. Вычисление площади квадрата по длине стороны. |
||||
2. Вычисление периметра прямоугольника по длинам двух сторон. |
||||
3. Вычисление объема параллелепипеда по длинам трех его сторон. |
||||
4. Вычисление среднего арифметического двух чисел. |
||||
5. Вычисление площади круга по радиусу. |
||||
|
||||
### Пример решения |
||||
|
||||
1. Найти минимальное из двух целых чисел. |
||||
|
||||
```python |
||||
|
||||
def parallelepiped_volume(a, b, с): |
||||
return a * b * c |
||||
|
||||
print(min_integer(2, 3, 4)) # Output: 24 |
||||
|
||||
``` |
||||
|
||||
2. Вычисление периметра прямоугольника по длинам двух сторон. |
||||
|
||||
```python |
||||
|
||||
def parallelepiped_volume(a, b, с): |
||||
return a * b * c |
||||
|
||||
print(min_integer(2, 3, 4)) # Output: 24 |
||||
|
||||
``` |
||||
|
||||
[На главную](/) |
Loading…
Reference in new issue