This media is not supported in your browser
    VIEW IN TELEGRAM
  Поставь
import turtle as t
t.left(90)
t.tracer(0)
l = 30
# тут пишем псевдокод
t.up()
for x in range(-50, 50):
for y in range(-50, 50):
t.goto(x * l, y * l)
t.dot('black')
t.done()
t.tracer(0)Эта функция отключает анимацию черепахи, что делает отрисовку более быстрой, т.е. графика не будет отображаться до тех пор, пока t.update() не будет вызван явно. Значение 0 указывает на отключение анимации.
l = 30Здесь создается переменная l и устанавливается значение 30.
forward(distance)Двигает черепаху вперед на заданное расстояние.
backward(distance)Двигает черепаху назад на заданное расстояние.
right(angle)Поворачивает черепаху направо на заданный угол.
left(angle)Поворачивает черепаху налево на заданный угол.
t.up()Эта функция поднимает перо черепахи, что позволяет ей перемещаться без рисования.
for x in range(-50, 50)::Этот цикл перебирает значения от -50 до 49 (50 не включается) для переменной x.
for y in range(-50, 50):Этот цикл перебирает значения от -50 до 49 (50 не включается) для переменной y.
t.goto(x * l, y * l)Эта функция перемещает черепаху в позицию с координатами (x * l, y * l), где l - это длина шага.
t.dot('black')Эта функция рисует точку черным цветом в текущей позиции черепахи.
t.done()Этот вызов указывает, что рисование завершено, и окно черепахи должно быть закрыто.
Таким образом, весь код используется для создания сетки черных точек в виде таблицы 100x100.
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Автор: Л. Шастин
Уровень: Базовый
а) если число N делится на 3, то первая и последняя цифры меняются местами, а затем в конец дописывается единица;
б) если число N на 3 не делится, то остаток от деления на 3 дописывается в конец числа.
Аудио с пояснением к коду решения оставлю в комментариях.
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
def convert(num, base):
    res = ''
    while num > 0:
        res = alphabet[num % base] + res
        num //= base
    return res
R = []
for n in range(1, 1000, 2):
    s = convert(n, 4)
    if n % 3 == 0:
        s = s[-1] + s[1:-1] + s[0] + '1'
    else:
        s += str(n % 3)
    r = int(s, 4)
    if r <= 340:
        R.append(r)
print(max(R))
# Ответ 334def convert(num, base):Функцию convert() комментировать не буду, опишу её постом ниже.
R = []Инициализация пустого списка R, который будет использоваться для хранения результатов.
for n in range(1, 1000, 2):Цикл for, который проходит по нечетным числам от 1 до 999 включительно.
s = convert(n, 4)Преобразование числа n в строку с использованием четверичной системы счисления.
if n % 3 == 0:Проверка, является ли число n кратным 3.
s = s[-1] + s[1:-1] + s[0] + '1'Если число n кратно 3, изменяем строку s, меняя местами первый и последний символ, добавляем '1' в конец.
else:В противном случае (число n не кратно 3) выполняем следующий блок кода.
s += str(n % 3)Если число n не кратно 3, добавляем остаток от деления числа n на 3 в виде строки в конец строки s.
r = int(s, 4)Преобразование строки s обратно в число в четверичной системе счисления.
if r <= 340:Проверка, меньше ли полученное число r или равно 340.
R.append(r)Добавление числа r в список R.
print(max(R))Вывод максимального числа из списка R.
Поддержать автора: boosty
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Поставь
s = 170 * '1' + 100 * '3' + 7 * '2'
while '11' in s:
s = s.replace('112', '4', 1)
s = s.replace('113', '2', 1)
s = s.replace('42', '3', 1)
s = s.replace('43', '1', 1)
print(s)
s = 170 * '1' + 100 * '3' + 7 * '2' Пример создания строка s, состоящая из 170 символов '1', за которыми следует 100 символов '3', а затем 7 символов '2'.
while '11' in s:Начинается цикл, который будет выполняться до тех пор, пока в строке s есть подстрока '11'.
if '11' in s: Если в строке s есть подстрока '11', то:
s = s.replace('112', '4', 1) Заменяется первое вхождение подстроки '112' на символ '4' в строке s.
summa = sum([int(i) for i in s])Создается переменная summa, с суммой цифр строки.
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
    VIEW IN TELEGRAM
  Автор: Е.Джобс
Уровень: Средний
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [326496; 649632], числа, у которых количество четных делителей равно количеству нечетных делителей. При этом в каждой из таких групп делителей не менее 70 элементов. Для каждого найденного числа запишите само число и минимальный делитель, больший 1000.
Аудио с пояснением к коду решения оставлю в комментариях.
def Divisors(x):
div = []
for j in range(1, int(x ** 0.5) + 1):
if x % j == 0:
div += [j, x // j]
return sorted(set(div))
for x in range(326496, 649632+1):
d = Divisors(x)
chet = [a for a in d if a % 2 == 0]
nechet = [a for a in d if a % 2 != 0]
if len(chet) == len(nechet):
if len(chet) >= 70 and len(nechet) >= 70:
print(x, min([a for a in d if a > 1000]))
# Ответ: 315
def Divisors(x):Функцию Divisors() комментировать не буду, опишу её постом ниже.
for x in range(326496, 649632+1):Цикл for, который перебирает числа в диапазоне от 326496 до 649632 включительно.
d = Divisors(x)Вызов функции Divisors(x), которая возвращает список делителей числа x.
chet = [a for a in d if a % 2 == 0]Формирование списка chet, содержащего только четные делители числа x.
nechet = [a for a in d if a % 2 != 0]Формирование списка nechet, содержащего только нечетные делители числа x.
if len(chet) == len(nechet):Проверка, равны ли длины списков четных и нечетных делителей числа x.
if len(chet) >= 70 and len(nechet) >= 70:Проверка, имеют ли списки четных и нечетных делителей числа x по крайней мере по 70 элементов.
print(x, min([a for a in d if a > 1000]))Вывод числа x вместе с минимальным делителем, превышающим 1000.
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
    VIEW IN TELEGRAM
  for s in open('9.txt'):
    M = [int(x) for x in s.split()]Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  📚 Шпаргалка ЕГЭ | Базовые функции python #tpy
Функции и их краткие описания с примерами:
1⃣  range(start, stop, step) - создает последовательность чисел от 
2⃣  max(iterable) - находит максимальное значение в итерируемом объекте. 
3⃣  len(iterable) - возвращает длину итерируемого объекта (количество элементов). 
4⃣  sum(iterable) - возвращает сумму всех элементов в итерируемом объекте. 
5⃣  sorted(iterable) - возвращает отсортированный список элементов итерируемого объекта. 
6⃣  open().readline() - открывает файл и возвращает первую строку из него. 
7⃣  int(s, n) - преобразует строку 
8⃣  str() - преобразует объект в строковое представление. 
0⃣  all(iterable) - возвращает 
1⃣ 0⃣  any(iterable) - возвращает 
1⃣ 1⃣  print(*objects) - выводит переданные объекты в консоль. 
1⃣ 2⃣  map(function, iterable) - применяет функцию к каждому элементу итерируемого объекта. 
Данный пост поможет вам быстро освоить базовые функции Python из списка. Пишите в комментарии, если я что-то забыл👇 
Информатика ЕГЭ | itpy🧑💻 
Поддержать автора донатом💵 
Функции и их краткие описания с примерами:
start до stop-1 с указанным шагом step. for i in range(1, 6, 2):
print(i)
# Выведет: 1, 3, 5
nums = [5, 2, 8, 1, 9]
print(max(nums))
# Выведет: 9
fruits = ["apple", "banana", "orange"]
print(len(fruits))
# Выведет: 3
numbers = [1, 2, 3, 4]
print(sum(numbers))
# Выведет: 10
nums = [5, 2, 8, 1, 9]
sorted_nums = sorted(nums)
print(sorted_nums)
# Выведет: [1, 2, 5, 8, 9]
with open("file.txt") as file:
first_line = file.readline()
print(first_line)
   s в целое число в системе счисления n. binary_num = "1010"
decimal_num = int(binary_num, 2)
print(decimal_num)
# Выведет: 10
number = 42
str_number = str(number)
print(str_number)
# Выведет: "42"
True, если все элементы в итерируемом объекте истинные. bools = [True, True, False]
print(all(bools))
# Выведет: False
True, если хотя бы один элемент в итерируемом объекте истинный. bools = [False, False, True]
print(any(bools))
# Выведет: True
name = "Alice"
print("Hello, ", name)
# Выведет: Hello, Alice
nums = [1, 2, 3]
squares = list(map(lambda x: x*x, nums))
print(squares)
# Выведет: [1, 4, 9]
Данный пост поможет вам быстро освоить базовые функции Python из списка. Пишите в комментарии, если я что-то забыл
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  
Метод
.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]
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Есть ли тут, кто собирается сдавать ЕГЭ не на Пайтон? 😑 
  Anonymous Poll
    85%
    Нет, только 👩💻 
      
    1%
    Паскаль 👩💻 
      
    7%
    С++ 👩💻 
      
    2%
    С# 👩💻 
      
    0%
    Джава 👩💻 
      
    5%
    Вообще без проги 🙂 
      
    This media is not supported in your browser
    VIEW IN TELEGRAM
  Информатика ЕГЭ | 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
  Стало интересно сколько баллов планируете набрать на ЕГЭ по информатике? 🤔 
  Anonymous Poll
    6%
    0-40
      
    7%
    40-60
      
    12%
    60-70
      
    21%
    70-80
      
    23%
    80-90
      
    13%
    90-95
      
    18%
    95-100
      
    This media is not supported in your browser
    VIEW IN TELEGRAM
  Автор: А.Богданов
Уровень: Базовый
Найдите все натуральные числа, не превышающие 10**9, которые соответствуют маске 20*23 и при этом без остатка делятся на 2023, а сумма цифр каждого такого числа кратна 7 и меньше 20.
Сумму цифр строки можно найти используя: summa = sum(map(int, s))
from fnmatch import *
for x in range(2023, 10**9, 2023):
if fnmatch(str(x), '20*23'):
summa = sum([int(i) for i in str(x)])
if summa % 7 == 0 and summa < 20:
print(x)
# Ответ:
# 2023
# 204323
# 2025023
# 20232023
# 202302023
from fnmatch import *Импорт всех элементов модуля fnmatch. Этот модуль используется для сравнения строк с шаблонами, используя стандартные символы для подстановок.
for x in range(2023, 10**9, 2023):Цикл for, который перебирает числа, начиная от 2023 и до 1000000000 с шагом 2023.
if fnmatch(str(x), '20*23'):Проверка, соответствует ли строковое представление числа x шаблону '20*23'. Это используется для проверки определенного условия на соответствие числа некоторому шаблону.
summa = sum([int(i) for i in str(x)])Вычисление суммы всех цифр в числе x. Для этого строковое представление числа разбивается на отдельные цифры, каждая из которых преобразуется в целое число, после чего вычисляется сумма.
if summa % 7 == 0 and summa < 20:Проверка, делится ли сумма цифр числа x на 7 без остатка и при этом не превышает ли сумма 20.
print(x)Вывод числа x, которое удовлетворяет условиям, описанным выше. Если число соответствует условиям, оно будет выведено.
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  .REPLACE()Метод
.replace(old, new, count) используется для замены подстроки old на new в строке. Можно указать count, чтобы ограничить количество замен.s = "Hello, World!"
new_s = s.replace("Hello", "Hi")
print(new_s) # Вывод: "Hi, World!"
.INDEX()Метод
.index(substring) возвращает индекс первого вхождения подстроки substring в строке. Если подстрока не найдена, возникает ошибка.s = "Hello, World!"
index = s.index("World")
print(index) # Вывод: 7
.COUNT()Метод
.count(substring) возвращает количество вхождений подстроки substring в строке. s = "How much wood would a woodchuck chuck if a woodchuck could chuck wood?"
count = s.count("wood")
print(count) # Вывод: 4
.SPLIT()Метод
.split(separator) разбивает строку на подстроки по указанному разделителю separator и возвращает список подстрок. s = "Split this s into words"
words = s.split(" ")
print(words) # Вывод: ["Split", "this", "s", "into", "words"]
"".JOIN()Метод
"".join(iterable) объединяет строки из итерируемого объекта в одну строку, разделяя их пустой строкой. words = ["Join", "these", "words"]
s = "".join(words)
print(s) # Вывод: "Jointhesewords"
.ISDIGIT()Метод
.isdigit() проверяет, состоит ли строка только из цифровых символов. Возвращает True или False. number = "12345"
is_digit = number.isdigit()
print(is_digit) # Вывод: True
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  
  Информатика ЕГЭ | Илья Андрианов | itpy 🧑💻
Стало интересно сколько баллов планируете набрать на ЕГЭ по информатике? 🤔 
А сколько времени вы уделяли подготовке? 🤨 
  Anonymous Poll
    11%
    5-10 минут - решал домашку в школе
      
    10%
    Чуть больше часа в неделю 
      
    24%
    2-3 часа в неделю 
      
    7%
    Стабильно час каждый день
      
    37%
    Два и более часов в день
      
    11%
    Вообще не готовился 😎 
      
    This media is not supported in your browser
    VIEW IN TELEGRAM
  📌 Ссылка на полную версию шпаргалки/методички на Notion.
Поставь
s = open('24.txt').readline()s = s.replace('1', '2').replace('W', 'R')print(max([len(x) for x in s.split()]))
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  YouTube
  
  10 ЧАСОВ МОТИВАЦИИ СДАТЬ ЕГЭ!! от Игоря Войтенко!
  сдай ЭГЕ ЕГЭ!!!!!!!!!!!!!!!!!!!!! ЕГЕ ЭГЭ ЙЕГЭ ЙОГА!!!!!!!!!!!!!!!!
upd1. я дурачек. там черный экран так как я плохо зациклировал.. :(
upd2. видео рендерилось 7 часов. это в качестве 480p и весит оно 18 гигабайт, так бы оно рендерилось 25+ часов (720p) и…
upd1. я дурачек. там черный экран так как я плохо зациклировал.. :(
upd2. видео рендерилось 7 часов. это в качестве 480p и весит оно 18 гигабайт, так бы оно рендерилось 25+ часов (720p) и…
Есть тут люди, которые "с удовольствием" ждут ЕГЭ?
Ставь:
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Дорогие подписчики! Наступил час, когда ваш труд и усердие будут испытаны экзаменом. Помните, что вы проделали огромную работу, и теперь настал момент продемонстрировать всю свою подготовку. Верьте в себя, вы способны преодолеть любые трудности! Ни пуха, ни пера 🍀 
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Определите количество 9-тиричных б-тизначных чисел, которые не начинаются с нечетных цифр, не оканчиваются цифрами 2 или 3, содержат не менее двух цифр 1
from itertools import *
cnt = 0
for x in product('012345678', repeat=6):
num = ''.join(x)
if num[0] != "0" and num[0] not in '1357':
if num[-1] not in '23' and num.count('1') >= 2:
cnt += 1
print(cnt)
# Ответ: 19868
1.
from itertools import *Импорт модуля `itertools`, который предоставляет функции для работы с итераторами.
2.
cnt = 0Инициализация переменной `cnt` с начальным значением 0, которая будет использоваться для подсчета условий, удовлетворяющих заданным критериям.
3.
for x in product('012345678', repeat=6):Цикл `for`, в котором переменная `x` принимает все возможные комбинации длиной 6 из элементов '012345678', сгенерированные с помощью функции `product` из модуля `itertools`.
4.
num = ''.join(x)Создание строки `num`, объединяя элементы кортежа `x` в одну строку.
5.
if num[0] != "0" and num[0] not in '1357':Проверка условия: первая цифра числа `num` не равна "0" и не содержится в строке '1357'.
6.
if num[-1] not in '23' and num.count('1') >= 2:Дополнительная проверка: последняя цифра числа `num` не содержится в строке '23' и количество цифр '1' в числе `num` больше или равно 2.
7.
cnt += 1Увеличение значения переменной `cnt` на 1 в случае, если число `num` удовлетворяет всем условиям.
8.
print(cnt)Вывод на экран значения переменной `cnt`, которая содержит количество чисел `num`, удовлетворяющих заданным условиям.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
    VIEW IN TELEGRAM
  