Цена за 24 часа в ленте | 1650,00 |
Цена за 1 час закрепления | N/A |
Взаимопиар | ≥ 400 подписчиков |
Мы готовы рекламировать материалы, связанные с IT или сферой образования. Это могут быть каналы других репетиторов, вебинары онлайн-школ или другие образовательные продукты. Если у вас есть особые предложения или проекты, мы также открыты к обсуждению.
|
|
all()
и any()
в Python: просто о полезном #tpy#tpyall()
и any()
.all()
— Проверка простого числаdef is_prime(x):
if x <= 1:
return False
return all(x % i != 0 for i in range(2, x))
print(is_prime(7)) # Вывод: True
(x % i != 0 for i in range(2, x))
создает последовательность логических значений: True
, если x
не делится на i
, и False
, если делится.all()
возвращает True
, только если все значения в последовательности — истинны.is_prime(7)
вернет True
, так как 7 не делится ни на одно число от 2 до 6 — то есть, это простое число.any()
— Поиск хотя бы одного делителяdef has_divisor(x):
return any(x % i == 0 for i in range(2, x))
print(has_divisor(9)) # Вывод: True
any()
вернет True
, если хотя бы одно значение в последовательности — истина.has_divisor(9)
возвращает True, потому что 9 делится на 3.all()
— возвращает True, если все элементы истинны.any()
— возвращает True, если хотя бы один элемент истинен.from re import *
s = open('24.txt').readline()
# num — шаблон отдельного числа
# reg — шаблон всей последовательности
reg = rf'{num}([+*]{num})*'
matches = [x.group() for x in finditer(reg, s)]
maxi = max(len(x) for x in matches)
print(maxi)
num = r'([789][0789]*|[0])'
reg = rf'{num}([-*]{num})*'
s = s.replace('A', ' ').replace('C', ' ').replace('D', ' ')
num1 = r'[B]([1-6][1-6]*)'
num2 = r'([1-6][1-6]*)'
reg = rf'{num1}([-*]{num2})*'
num = r'([1-9][0-9]*)'
reg = rf'{num}([+*]{num})*'
num = r'([789]+)'
reg = rf'{num}([+]{num})+'
r'([1-9][0-9]*)' - натуральные числа (без ведущих нулей)
r'([0-9]+)' - любые целые числа
r'([789][0789]*)' - числа, начинающиеся с 7,8 или 9
([+*]{num})* - повторяющиеся операции + или *
([-+*]{num})* - операции -, + или *
Окончание на определенные цифры: [05]
Начало с определенных букв: [AFD]
list.sort()
в Python возвращает значение None
вместо отсортированного списка? from string import *
alphabet = digits + ascii_uppercase
def convert(n, b):
r = ''
while n > 0:
r += alphabet[n % b]
n //= b
return r[::-1]
n = 15552
print(convert(n, 2)) # Перевод в двоичную систему
print(convert(n, 8)) # Перевод в восьмеричную систему
print(convert(n, 16)) # Перевод в шестнадцатеричную систему
print(convert(n, 3)) # Перевод в троичную систему
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subset = my_list[2:5]
print(subset) # Вывод: [3, 4, 5]
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subset = my_list[1::2]
print(subset) # Вывод: [2, 4, 6, 8, 10]
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
reverse_list = my_list[::-1]
print(reverse_list) # Вывод: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
my_string = "Hello, World!"
substring = my_string[7:12]
print(substring) # Вывод: "World"
my_string = "Hello, World!"
substring = my_string[::2]
print(substring) # Вывод: "Hlo ol!"
my_string = "Hello, World!"
reverse_string = my_string[::-1]
print(reverse_string) # Вывод: "!dlroW ,olleH"
🚩🚩 .APPEND().append()
используется для добавления элемента в конец списка. Пример: my_list = [1, 2, 3]
my_list.append(4)
my_list.append(5)
print(my_list) # Вывод: [1, 2, 3, 4, 5]
my_list = [1, 2, 3]
my_list = [0] + my_list + [4, 5]
print(my_list) # Вывод: [0, 1, 2, 3, 4, 5]
.reverse()
изменяет порядок элементов в списке на обратный. Пример: my_list = [1, 2, 3, 4]
my_list.reverse()
print(my_list) # Вывод: [4, 3, 2, 1]
my_list = [1, 2, 3, 4]
my_list = my_list[::-1]
print(my_list) # Вывод: [4, 3, 2, 1]
.count()
возвращает количество вхождений заданного элемента в список. Пример:my_list = [1, 2, 2, 3, 4, 2]
print(my_list.count(2)) # Вывод: 3
remove()
удаляет первое вхождение указанного элемента из списка. Пример:my_list = [1, 2, 3, 2, 4]
my_list.remove(2) # Первая найденная двойка
print(my_list) # Вывод: [1, 3, 2, 4]
del
:my_list = [1, 2, 3, 2, 4]
del my_list[1] # Индекс удаляемого элемента
print(my_list) # Вывод: [1, 3, 2, 4]
.index()
возвращает индекс первого вхождения заданного элемента в списке. Пример:my_list = [1, 2, 3, 2, 4]
print(my_list.index(2)) # Вывод: 1
.sort()
сортирует элементы списка по возрастанию (по умолчанию) или в обратном порядке, если передан аргумент reverse=True
. Пример:my_list = [4, 1, 3, 2]
my_list.sort()
print(my_list) # Вывод: [1, 2, 3, 4]
my_list.sort(reverse=True)
print(my_list) # Вывод: [4, 3, 2, 1]
sorted()
:my_list = [4, 1, 3, 2]
my_list = sorted(my_list)
print(my_list) # Вывод: [1, 2, 3, 4]
my_list = sorted(my_list, reverse=True)
print(my_list) # Вывод: [4, 3, 2, 1]
s = '12345'
summa1 = 0
for x in s:
summa1 += int(x)
print(summa1) # 15
for
, чтобы пройти по каждому символу строки s
. Каждый символ преобразуем в число с помощью int(x)
и добавляем его к общей сумме summa1
.summa2 = 0
for i in range(0, 10):
summa2 += s.count(str(i)) * i
print(summa2) # 15
count
для подсчета количества вхождений каждой цифры от 0 до 9 в строке s
. Умножаем количество вхождений на само число и добавляем к summa2
.summa3 = sum(map(int, s))
print(summa3) # 15
summa4 = sum([int(x) for x in s])
print(summa4) # 15
s
. Затем с помощью sum
находим сумму элементов списка.if
, чтобы убедиться, что символы являются цифрами:summa4 = sum([int(x) for x in s if x.isdigit()])
s
присутствуют нечисловые символы.list comprehensions
) в Python — это мощный инструмент, который позволяет создавать списки компактным и элегантным способом. В данной статье рассмотрим несколько практических примеров их использования на экзаменах ЕГЭ по информатике.from random import randint
# Старый способ создания списка
M = []
for i in range(10):
M.append(randint(0, 100))
# Способ создания списка через генератор:
M = [randint(0, 100) for i in range(10)]
# Все четные элементы
chet = [x for x in M if x % 2 == 0]
# Все нечетные элементы
nechet = [x for x in M if x % 2 != 0]
# Элементы, которые имеют копии
copied = [x for x in M if M.count(x) > 1]
# Элементы, которые не имеют копий
not_copied = [x for x in M if M.count(x) == 1]
M = [x for x in range(10)]
print(M) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
M = [x ** 2 for x in range(10)]
print(M) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
M = [x ** 2 for x in range(10) if x % 2 == 0]
print(M) # [0, 4, 16, 36, 64]
M = [int(x) for x in open('17.txt')]
# Находим трехзначные числа с последней цифрой 3
D = [x for x in M if abs(x) % 10 == 3 and len(str(abs(x))) == 3]
for s in open('9.txt'):
M = [int(x) for x in s.split()]
numbers = [3, 4, 2, 7, 2, 3, 8, 3, 1, 9]
A = [x**2 for x in numbers if x % 2 == 0]
print(A) # [16, 4, 4, 64]
B = [x**2 if x % 2 == 0 else x ** 3 for x in numbers]
print(B) # [27, 16, 4, 343, 4, 27, 64, 27, 1, 729]
# Создание списка квадратов четных чисел от 0 до 9
even_squares = [x**2 for x in range(10) if x % 2 == 0]
# Вывод результатов
print(even_squares)
if x % 2 == 0
добавляет в список только квадраты четных чисел, создавая список [0, 4, 16, 36, 64]
.text = " Привет, мир! "
cleaned_text = text.strip()
print(cleaned_text) # "Привет, мир!"
text = "ПрIvEt"
print(text.lower()) # "привет"
print(text.upper()) # "ПРИВЕТ"
text = "Я люблю Python!"
new_text = text.replace("Python", "программирование")
print(new_text) # "Я люблю программирование!"
text = "яблоко груша банан"
fruits = text.split() # по умолчанию разделяет по пробелам
print(fruits) # ['яблоко', 'груша', 'банан']
fruits = ['яблоко', 'груша', 'банан']
result = ', '.join(fruits)
print(result) # "яблоко, груша, банан"
text = "Привет, мир!"
index = text.find("мир")
print(index) # 8
text = "яблоко, груша, яблоко"
count = text.count("яблоко")
print(count) # 2
text = "Привет, мир!"
print(text.startswith("Привет")) # True
print(text.endswith("мир!")) # True