This media is not supported in your browser
VIEW IN TELEGRAM
Срезы в Python представляют собой мощный механизм для извлечения подстрок, подсписков или любых других подпоследовательностей из итерируемых объектов.
Синтаксис срезов включает в себя указание начального и конечного индексов, а также опциональный шаг (step):
срез = объект[начальный_индекс:конечный_индекс:шаг]
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Извлечение подсписка с индексами 2-5 (не включая 5)
subset1 = my_list[2:5]
print(subset1) # Вывод: [3, 4, 5]
my_string = "Hello, World!"
# Извлечение подстроки с индексами 7-12 (не включая 12)
substring1 = my_string[7:12]
print(substring1) # Вывод: "World"
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subset = my_list[2:5]
print(subset) # Вывод: [3, 4, 5]
Здесь мы извлекаем подсписок, начиная с индекса 2 и заканчивая индексом 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]
В этом примере мы извлекаем каждый второй элемент, начиная с индекса 1, то есть все нечетные ИНДЕКСЫ.
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"
В данном случае, мы извлекаем подстроку, начиная с индекса 7 и заканчивая индексом 12 (не включая). Это полезно для работы с текстовыми данными.
my_string = "Hello, World!"
substring = my_string[::2]
print(substring) # Вывод: "Hlo ol!"
Использование среза с шагом 2 помогает нам извлекать каждый второй символ из строки.
my_string = "Hello, World!"
reverse_string = my_string[::-1]
print(reverse_string) # Вывод: "!dlroW ,olleH"
Также, как и в случае с списками, срез с отрицательным шагом позволяет легко получить строку в обратном порядке.
Использование срезов делает код более эффективным и читаемым. Практикуйтесь в их применении, и вы обнаружите, насколько они улучшают ваши навыки работы с данными в Python.
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Сложная задачка 5 номера с сайта kompege.ru, на примере этой задачи мы можем увидеть где нам могут пригодиться генераторы списков. А еще в конце разбора опубликовал более универсальный способ решения!
for n in range(2, 10000):
s = bin(n)[2:]
chet1 = [x for x in s[1::2] if x == '1']
nechet0 = [x for x in s[0::2] if x == '0']
r = abs(len(chet1) - len(nechet0))
if r == 5:
print(n)
break
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Дублирую условие для вашего удобства, переносите в
КЕГЭ № 1515 (Уровень: Средний)
Автомат обрабатывает натуральное число N по следующему алгоритму:
1. Строится двоичная запись числа N.
2. Запись «переворачивается», то есть читается справа налево.
Если при этом появляются ведущие нули, они отбрасываются.
3. Полученное число переводится в десятичную запись и выводится на экран.
Какое наименьшее число, превышающее 1000, после обработки автоматом даёт результат 29?
Правильное решение опубликую сегодня вечером в комментариях, а пока что предлагаю выбрать правильный ответ
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
Я постоянно обучаюсь, дабы быть примером для своих студентов, на данный момент могу похвастаться несколькими весомыми дипломами:
📈 Эти и другие дипломы, а также отзывы моих учеников и их родителей вы можете найти в профиле на Авито.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
#kege #yandex
#reshu #statgrad
#polyakov
#ЕГЭ1 #ЕГЭ10 #ЕГЭ19
#ЕГЭ2 #ЕГЭ11 #ЕГЭ20
#ЕГЭ3 #ЕГЭ12 #ЕГЭ21
#ЕГЭ4 #ЕГЭ13 #ЕГЭ22
#ЕГЭ5 #ЕГЭ14 #ЕГЭ23
#ЕГЭ6 #ЕГЭ15 #ЕГЭ24
#ЕГЭ7 #ЕГЭ16 #ЕГЭ25
#ЕГЭ8 #ЕГЭ17 #ЕГЭ26
#ЕГЭ9 #ЕГЭ18 #ЕГЭ27
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Задачка среднего уровня с сайта kompege.ru, основная сложность которой состоит в переборе системы счисления
ALPHABET = sorted('0123456789AQWERTYUIOPSDFGHJKLZXCVBNM')
for p in range(5, 36+1):
for x in ALPHABET[:p]:
for y in ALPHABET[:p]:
if int('32', p) * int('14', p) == int(f'{x}{y}2', p):
print(int(f'{y}{x}', p))
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Дублирую условие для вашего удобства, переносите в
В системе счисления с основанием p выполняется равенство 32 × 14= xyz2.
Буквами x, y и z обозначены некоторые цифры из алфавита системы счисления с основанием p.
Определите значение числа zyx_p и запишите его значение в десятичной системе счисления.
Правильное решение опубликую сегодня вечером в комментариях, а пока что предлагаю выбрать правильный ответ
130
145
138
143
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
continue
, break
, exit
, yield
и pass
#tpy Python предлагает разнообразные контрольные операторы, которые помогают управлять потоком выполнения программы. Давайте рассмотрим пять ключевых операторов: continue, break, exit, yield и pass, и узнаем, как они используются в Python.
Оператор
continue
используется в циклах для перехода к следующей итерации, пропуская текущую итерацию. Пример:for i in range(5):
if i == 2:
continue
print(i, end=' ') # Вывод: 0 1 3 4
Оператор
break
используется для прерывания выполнения цикла (только в котором мы находимся), когда выполняется определенное условие. Пример:for i in range(5):
if i == 3:
break
print(i, end=' ') # Вывод: 0 1 2
Функция
exit()
используется для выхода из программы или интерпретатора Python. Пример:answer = input("Хотите выйти из программы? (yes/no): ")
if answer == 'yes':
exit()
else:
print("Программа продолжает работу.")
Оператор
yield
используется в генераторах для возврата значений последовательно, без завершения функции. Пример:def my_generator():
for i in range(5):
yield i
gen = my_generator()
for item in gen:
print(item, end=' ') # Вывод: 0 1 2 3 4
Оператор
pass
не делает ничего. Он используется в тех местах, где синтаксически требуется оператор, но никаких действий выполнять не нужно. Пример:x = 5
if x < 0:
pass # Временно оставляем этот блок пустым
else:
print("x не отрицательное число")
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM