Книга программиста/Задачи на Python 3: различия между версиями

Содержимое удалено Содержимое добавлено
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 4:
=Простые задачи=
==Бинарный поиск==
<sourcesyntaxhighlight lang="python">
import math, random
 
Строка 35:
 
BinarySeach(L, 4, 0, N - 1)
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Бинарный поиск|Смотрите также: реализация на PascalABC.Net]]
==Список с максимумом максимумов==
<sourcesyntaxhighlight lang="python">
L = max([[1, 2, 3], [4, 5, 6]], key = max)
print(L)
print('Индекс максимального элемента {0} равен {1}.'.format(max(L), L.index(max(L))))
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Массив с максимумом максимумов|Смотрите также: реализация на PascalABC.Net]]
 
Строка 48:
==Стандартные функции==Kuan-Kek
Определим следующие функции для решения задач:
<sourcesyntaxhighlight lang="python">
# Выполняет чтение списка целых чисел с клавиатуры.Kuan-Kek
def ReadListInteger(n):
Строка 78:
def MaxBy(l, f):
return max(filter(lambda x: f(x), l))
</syntaxhighlight>
</source>
 
==Удаление лишних пробелов в строках массива==
<sourcesyntaxhighlight lang="python">
def ReadListString(n):
L = []
Строка 92:
 
print(list(map(lambda x: ToWords(x), ReadListString(2))))
</syntaxhighlight>
</source>
[[#Стандартные функции|Используемые функции]]
 
Строка 106:
значения элементов выводить не нужно. Исходные данные объявлены так, как показано ниже.
Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
<sourcesyntaxhighlight lang="python">
N = 2014
 
Строка 126:
 
print(K)
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Локальные минимумы|Смотрите также: реализация на PascalABC.Net.]]
 
Строка 135:
Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 9, 8,
ответом будет 9 – наименьшее нечётное число, поскольку нечётных чисел в этом массиве меньше.
<sourcesyntaxhighlight lang="python">
MaxValue = 100000000
 
Строка 159:
else:
print(Min2)
</syntaxhighlight>
</source>
<sourcesyntaxhighlight lang="python">
def ReadListString(n):
L = []
Строка 176:
else:
print(MinBy(L, lambda x: x%2 != 0))
</syntaxhighlight>
</source>
[[#Стандартные функции|Используемые функции]]
 
Строка 188:
равных соответственно 2, 6, 12, 17, 3, 8, ответом будет 2 – количество нечётных элементов,
так как общая сумма всех элементов чётна.
<sourcesyntaxhighlight lang="python">
N = 2000
 
Строка 207:
else:
print(K1)
</syntaxhighlight>
</source>
<sourcesyntaxhighlight lang="python">
def ReadListInteger(n):
L = []
Строка 220:
else:
print(len(filter(lambda x: x%2 == 0, L)))
</syntaxhighlight>
</source>
[[#Стандартные функции|Используемые функции]]
 
Строка 232:
в которых хотя бы одно число делится на 3.
В данной задаче под парой подразумевается два подряд идущих элемента массива.
<sourcesyntaxhighlight lang="python">
N = 20
 
Строка 246:
 
print(K)
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Пары с элементом кратным 3|Смотрите также: реализация на PascalABC.Net.]]
 
==Задача 5==
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 5.
<sourcesyntaxhighlight lang="python">
N = 40
 
Строка 266:
 
print(K)
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Числа, оканчивающиеся на 5|Смотрите также: реализация на PascalABC.Net.]]
==Математические задачи==
===Задача о принадлежности точки кольцу===
<sourcesyntaxhighlight lang="python">
import math
 
Строка 284:
else:
print('Точка вне кольца.')
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Задача о принадлежности точки кольцу|Смотрите также: реализация на PascalABC.Net.]]
===Задача о решении уравнений===
<sourcesyntaxhighlight lang="python">
import math
 
Строка 303:
else:
print('Ошибка нахождения корней: недопустимое значение {0} для D (< 0).'.format(D))
</syntaxhighlight>
</source>
[[Задачи_на_PascalABC.Net#Задача о решении уравнений|Смотрите также: реализация на PascalABC.Net.]]