Обучение питону с нуля для егэ

Доброго времени суток каждому жителю Хабрвилля! Давненько я не писал статей! Пора это исправить!

В сегодняшней статье поговорим о насущной для многих выпускников школ теме — ЕГЭ. Да-да-да! Я знаю, что Хабр — это сообщество разработчиков, а не начинающих айтишников, но сейчас ребятам как никогда нужна поддержка именно сообщества. Ребят опять посадили на дистант. Пока не ясно на какой период, но уже сейчас можно сказать, что ЕГЭ по информатике будет на компьютерах и его можно зарешать при помощи языка Python.

Вот я и подумал, чтобы не получилось как в песне, стоит этим заняться. Я расскажу про все задачи первой части и их решения на примере демо варианта ЕГЭ за октябрь.

Всех желающих — приглашаю ниже!

Быстрый перевод из системы в систему

В Python есть интересные функции bin(), oct() и hex(). Работают данные функции очень просто:

bin(156) #Выводит '0b10011100'
oct(156) #Выводит '0o234'
hex(156) #Выводит '0x9c'

Вывод в интерпретационном режиме

Вывод в интерпретационном режиме

Как вы видите, выводится строка, где 0b — означает, что число далее в двоичной системе счисления, 0o — в восьмеричной, а 0x — в шестнадцатеричной. Но это стандартные системы, а есть и необычные…

Давайте посмотрим и на них:

n = int(input()) #Вводим целое число
 
b = '' #Формируем пустую строку
 
while n > 0: #Пока число не ноль
    b = str(n % 2) + b #Остатот от деления нужной системы (в нашем сл записываем слева
    n = n // 2 #Целочисленное деление
 
print(b) #Вывод

Данная программа будет работать при переводе из десятичной системы счисления в любую до 9, так как у нас нет букв. Давайте добавим буквы:

n = int(input()) #Вводим целое число

b = '' #Формируем пустую строку

while n > 0: #Пока число не ноль
	if (n % 21) > 9: #Если остаток от деления больше 9...
		if n % 21 == 10: #... и равен 10...
			b = 'A' + b #... запишем слева A
		elif n % 21 == 11:#... и равен 11...
			b = 'B' + b#... запишем слева B

'''

И так далее, пока не дойдём до системы счисления -1 (я переводил в 21-ную систему и шёл до 20)

'''

		elif n % 21 == 11:
			b = 'B' + b
		elif n % 21 == 12:
			b = 'C' + b
		elif n % 21 == 13:
			b = 'D' + b
		elif n % 21 == 14:
			b = 'E' + b
		elif n % 21 == 15:
			b = 'F' + b
		elif n % 21 == 16:
			b = 'G' + b
		elif n % 21 == 17:
			b = 'H' + b
		elif n % 21 == 18:
			b = 'I' + b
		elif n % 21 == 19:
			b = 'J' + b
		elif n % 21 == 20:
			b = 'K' + b
	else: #Иначе (остаток меньше 10)
		b = str(n % 21) + b #Остатот от деления записываем слева
	n = n // 21 #Целочисленное деление

print(b) #Вывод

Способ объёмен, но понятен. Теперь давайте используем тот же функцию перевода из любой системы счисления в любую:

def convert_base(num, to_base=10, from_base=10):
    # Перевод в десятичную систему
    if isinstance(num, str): # Если число - строка, то ...
        n = int(num, from_base) # ... переводим его в нужную систему счисления
    else: # Если же ввели число, то ...
        n = int(num) # ... просто воспринять его как число
    # Перевод десятичной в 'to_base' систему
    alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" # Берём алфавит
    if n < to_base: # Если число меньше системы счисления в которую переводить...
        return alphabet[n] # ... вернуть значения номера в алфавите (остаток от деления)
    else: # Иначе...
        return convert_base(n // to_base, to_base) + alphabet[n % to_base] # ... рекурсивно обратиться к функии нахождения остатка

Вызвав функцию вывода print(convert_base(156, 16, 10)) мы переведём 156 из 10 в 16 систему счисления, а введя print(convert_base('23', 21, 4)) переведёт 23 из 4-ичной в 21-ичную систему (ответ: B).

Задача 2

Все задания беру из первого октябрьского варианта (он же вариант № 9325894) с сайта Решу.ЕГЭ.

Решение данной задачи совсем простое: банальный перебор.

print('y', 'x', 'z', 'F') #Напечатаем заголовки таблицы
for y in range(2): #Берём все переменные и меняем их в циклах '0' и '1'
	for x in range(2):
		for z in range(2):
			for w in range(2):
				F = ((not x or y) == (not z or w)) or (x and w) #Записываем функцию
				print(x, y, z, F) #Выводим результат

Результат:

Нам вывелась вся таблица истинности (1 = True, 0 = False). Но это не очень удобно. Обратите внимание, что в задании, функция равно 0, так и давайте подправим код:

print('y', 'x', 'z', 'F') #Напечатаем заголовки таблицы
for y in range(2): #Берём все переменные и меняем их в циклах '0' и '1'
	for x in range(2):
		for z in range(2):
			for w in range(2):
				F = ((not x or y) == (not z or w)) or (x and w) #Записываем функцию
				if not F:
					print(x, y, z, F) #Выводим результат

Результат:

Далее — простой анализ.

Задача 5

Данная задача легко решается простой последовательностью действий в интерпретационном режиме:

Задача 6

Перепечатали и получили ответ:

s = 0
k = 1
while s < 66:
    k += 3
    s += k
print(k)

Задача 12

В очередной раз, просто заменим слова на код:

a = '9' * 1000

while '999' in a or '888' in a:
	if '888' in a:
		a = a.replace('888', '9', 1)
	else:
		a = a.replace('999', '8', 1)
print(a)

Задача 14

Компьютер железный, он всё посчитает:

a = 4 ** 2020 + 2 ** 2017 - 15
k = 0

while a > 0:
    if a % 2 == 1:
    	k += 1
    a = a // 2

print(k)

Задача 16

Опять же, просто дублируем программу в python:

def F(n):
    if n > 0:
        F(n // 4)
        print(n)
        F (n - 1)
print(F(5))

Результат:

Задача 17

Задача с файлом. Самое сложное — достать данные из файла. Но где наша не пропадала?!

with open("17.txt", "r") as f: #Открыли файл 17.txt для чтения
    text = f.read() #В переменную text запихнули строку целиком
a = text.split("n") #Разбили строку энтерами (n - знак перехода на новую строку)

k = 0 #Стандартно обнуляем количество
m = -20001 #Так как у нас сумма 2-ух чисел и минимальное равно -10000, то минимум по условию равен -20000, поэтому...

for i in range(len(a)): #Обходим все элементы массива
	if (int(a[i - 1]) % 3 == 0) or (int(a[i]) % 3 == 0): #Условное условие
		k += 1 #Счётчик
		if int(a[i - 1]) + int(a[i]) > m: #Нахождение минимума
			m = int(a[i - 1]) + int(a[i])

print(k, m) #Вывод

Немного пояснений. Функция with() открывает файл считывает данные при помощи функции read() и закрывает файл. В остальном — задача стандартна.

Задача 19, 20 и 21

Все три задачи — задачи на рекурсию. Задачи идентичны, а вопросы разные. Итак, первая задача:

Пишем рекурсивную функцию и цикл перебора S:

def f(x, y, p): #Рекурсивная функция
	if x + y >= 69 or p > 3: #Условия завершения игры
		return p == 3
	return f(x + 1, y, p + 1) or f(x, y + 1, p + 1) or
		   f(x * 2, y, p + 1) or f(x, y * 3, p + 1) #Варианты действий

for s in range (1, 58 + 1): #Перебор S
	if f(10, s, 1): #Начали с 10 камней
		print(s)
		break

Немного пояснений. В рекурсивной функции существует 3 переменные x — число камней в первой куче, y — число камней во второй куче, p — позиция. Позиция рассчитывается по таблице:

Игра

Петя

Ваня

Петя

Ваня

Петя

p

1

2

3

4

5

6

Далее — всё по условию задачи.

Вторая задача на теорию игр:

Все отличия в рамке. Ну и код, соответственно, не сильно отличается:

def f(x, y, p): #Рекурсивная функция
	if x + y >= 69 or p > 4: #Условия завершения игры
		return p == 4
	if p % 2 != 0:
		return f(x + 1, y, p + 1) or f(x, y + 1, p + 1) or
			   f(x * 2, y, p + 1) or f(x, y * 3, p + 1) #Варианты действий
	else:
		return f(x + 1, y, p + 1) and f(x, y + 1, p + 1) and
			   f(x * 2, y, p + 1) and f(x, y * 3, p + 1) #Варианты действий


for s in range (1, 58 + 1): #Перебор S
	if f(10, s, 1): #Начали с 10 камней
		print(s)

Отличия:

  1. Выиграл Петя, соответственно, позиция 4

  2. Так как Петя не может выиграть за один ход — он выигрывает за 2 хода (and, а не or на нечётных позициях (играх Пети))

  3. Убрали break, так как нам нужны все S, а не единственный

Последняя вариация задачи:

Сразу код:

def f(x, y, p): #Рекурсивная функция
	if x + y >= 69 or p > 5: #Условия завершения игры
		return p == 3 or p == 5
	if p % 2 == 0:
		return f(x + 1, y, p + 1) or f(x, y + 1, p + 1) or
			   f(x * 2, y, p + 1) or f(x, y * 3, p + 1) #Варианты действий
	else:
		return f(x + 1, y, p + 1) and f(x, y + 1, p + 1) and
			   f(x * 2, y, p + 1) and f(x, y * 3, p + 1) #Варианты действий


for s in range (1, 58 + 1): #Перебор S
	if f(10, s, 1): #Начали с 10 камней
		print(s)

Ну и всего лишь 2 отличия:

  1. Позиции 3 или 5, а не 4, так как выиграл Ваня

  2. На второй ход выигрывает Ваня и нам нужно or и and поменять. Я заменил только кратность 2.

Задача 22

Ctrl+C, Ctrl+V — наше всё! :)

for i in range(1, 100000):
	x = i
	L = 0
	M = 0
	while x > 0 :
		L = L+1
		if (x % 2) != 0:
			M = M + x % 8
		x = x // 8
	if L == 3 and M == 6:
		print(i)

Задача 23

Итак, код:

def f(x, y):
	if x > y: #Перегнали цель
		return 0
	if x == y:  #Догнали цель
		return 1
	if x < y: #Догоняем цель тремя методами
		return f(x + 1, y) + f(x + 2, y) + f(x * 2, y)

print(f(3, 10) * f(10, 12)) #Прошло через 10, значит догнали 10 и от де догоняем 12

Так как в условии задачи мы увеличиваем число, но будем числа «догонять». Три метода описаны, ну а пройти через 10 — значит дойти до него и идти от него.

Собственно, это и есть вся первая часть ЕГЭ по информатике решённая на Python.

Ссылка на репозиторий со всеми программами:

Надеюсь, что смог помочь в своей статье выпускникам и готовящимся ;)

Остался один вопрос — нужен ли разбор второй части ЕГЭ по информатике на Python? Оставлю этот вопрос на ваше голосование.

Всем удачи!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Делаю разбор второй части?

Проголосовали 106 пользователей.

Воздержались 15 пользователей.

Get it on Apple Store

Get it on Google Play

Public user contributions licensed under
cc-wiki license with attribution required

Skolkovo resident

Основы Python для ЕГЭ

Изучим основы для программирования на языке Python с нуля 🔥

За 6 занятий подробно разберём базу языка и отработаем её на практике. После курса ты будешь иметь навыки, которые помогут тебе решить любое задание ЕГЭ

Ждём тебя на курсе! :)

Длительность курса
6 уроков


Коля Касперский
Учитель

999 ₽

что входит в курс?

Спецкурс по основам Python — это авторский курс изучения языка с нуля от Коли Касперского:

✅ изучишь всю нужную базу языка с нуля
✅ 6 вебинаров: перестанешь бояться языка программирования
✅ 6 домашек: сразу закрепишь новую тему и найдёшь свои слабые места
✅ крутая методичка со всей самой важной теорией и примерами

Как устроен процесс обучения

Удобная платформа

На нашей образовательной платформе у каждого есть личный кабинет — тут смотрят вебинары, проходят тесты, сдают домашку и получают обратную связь

Видеоуроки

После старта курса ты сразу получишь 6 видеоуроков, каждый из которых посвящён конкретной теме

Домашние задания

К каждому занятию есть тестовые практические задания, которые проверяются на платформе сразу после выполнения и задания с открытым ответом, которые ты сможешь проверить самостоятельно по ключам

Методичка

В конце курса тебя ждёт красиво оформленная методичка по языку программирования Python. В ней мы оставили всё самое важное и то, что чаще всего забывается: примеры конструкций, синтаксис и тд.

Вот что говорят наши выпускники

Ирина Зайцева

93 балла

Вебиум — лучшее место, где можно и поучиться, и почиллиндосить, и найти друзей.
○ Про обучение. Достаточно вебов, чтобы все пройти (если не успевали, то обязвтельно в какой-то форме (видео, вебы) получали доп материал). Интересная домашка в оптимальном объёме, чтобы все усвоить (наставники всегда готовы подкинуть что-то ещё). Прекрасные наставники становятся мамками-папками и помогают в течение всего учебного процесса.
○ Про атмосферу. Все настолько мило и уютно, что не замечала, как летит время на вебах. Нет никакого угнетения, поэтому не было страшно задавать «»глупые»» вопросы (таких не бывает, т.к. с любым непонимаем нужно бороться). Я получала удовольствие от подготовки, а в мае даже грустила, что расстанусь с такими прекрасными людьми и больше не буду смеяться на вебах.
Спасибо большое Вебиуму за отличную подготовку и незабываемые эмоции!

Ксения Изосимова

95 баллов

Обычно я не пишу отзывы, но этот случай исключение))))))

Спасибо большое Касу за каждый вебчик!! Каждый мой балл — результат просмотра вебинаров.

Люблю и целую 💋💋💋💋

Женя Ряполов

95 баллов

Путешествуя на просторах интернета, я искал место, где можно подготовиться к экзамену по информатике. Честно говоря, когда я первый раз увидел сайт вебиума, начал сомневаться в эффективности уроков, но решил попробовать. За первый месяц я научился реально многому. С этим преподавателем не соскучишься, смотреть его стримы реально не скучно, в отличие от других онлайн школ. Материал подаётся правильно, нет никаких излишеств. Единственное, что мне не очень понравилось, что Коля иногда очень часто отвлекается и что дизайнеры очень часто делают опечатки в задачах, но это уже так, субъективно.
В общем, я хочу сказать огромное спасибо онлайн школе Вебиум за то, что подготовили меня к экзамену, в итоге у меня 95 баллов. Я нисколько не жалею о том, что занимался здесь

Ирина Позднякова

95 баллов

В первый раз я сдавала ЕГЭ по информатике в 2021 году. Тогда я уделила своей подготовке не больше недели и легко получила 80, однако этот балл в сравнении с другими был ужасен. Я поступила в университет (который мне не нравился), но решила не сдаваться и сдать этот предмет ещё раз. Мне посчастливилось столкнуться с этой прекрасной онлайн школой. Заниматься, а точнее копить домашку, я начала в феврале; информатика — это предмет, который поддаётся только практике, что Вебиум и пытается донести до учеников. Сайт меня порадовал, материал удобно разделён по темам, каждый вебинар подкреплён домашним заданием. Признаться честно, я не люблю смотреть вебы, так как мне постоянно хочется перемотать то, что мне и так понятно, Вебиум выкладывает видео на сайт с таймкодами, что спасает. Отдельно хочется упомянуть разборы к заданиям, особенно радует экселевский файл с уже вписанными формулами, все очень наглядно. К сожалению, не могу ничего сказать про само ведение вебинаров, потому что обращалась к ним лишь за конкретной информацией, что было удобно делать. В этом очень помогает и наставник. ЕГЭ я писала на С++, как оказалось, многие наставники знают не только питон, что очень облегчает понимание. Мне достался прекрасный наставник, который поощрял мои не всегда адекватные, но интересные решения, не пытался меня переучить, но помогал прийти к верному решению именно тем способом, который казался удобным лично мне, он также не давал мне себя ругать, даже когда было за что, всегда отвечал на мои сообщения с вопросами, иначе говоря, очень понимающий и добрый человек, что помогало в этот непростой период. Но был и неприятный момент, связанный с последними днями подготовки — работа в группах. Я понимаю, что крайне сложно разделить людей по уровню знаний так, чтобы обучение было максимально эффективным, в моём случае сделать это не получилось, задачи которые разбирались за неделю до ЕГЭ в дискорде с наставником (уже другим) были для меня слишком лёгкими, но опять спасают сотни задач с сайта. Будущим ученикам хочу пожелать удачи. Покупайте курсы. Делайте домашку, она важная!

больше отзывов в

Что необходимо знать из Python для ЕГЭ

Как данные в этом языке обрабатываются и какие есть основные конструкции — то, с чего начинается разговор о программировании. 

Основные конструкции = способы создания алгоритма.

Цель на ЕГЭ для выпускников — научиться решать задачи с помощью Python. 

Базовые знания этого языка программирования состоят из

  • циклов;
  • типов данных (хранение информации в вашей программе);
  • условий;
  • функций

Функция в Python — метод, позволяющий какие-то значения передать, преобразовать и что-то, в итоге, получить или не получить.

ЕГЭ-шные нюансы в Python

Если вы в Python разберётесь с особенностями программы, о которых мы рассказываем дальше, то станет гораздо проще решать задания на экзамене.

  • списки, срезы, словари (необходимо посмотреть, как именно обрабатываются данные);
  • обработка строк
  • файлы (чтобы научиться с ними работать, необходимо выучить две команды — считать одну строку и считать все строки.

Самое важное в программирование — ЖЕЛАНИЕ разобраться во всех тонкостях и УМЕНИЕ их применять.

Ресурсы для освоения Python

  • metanit.com;
  • sobolearn.com;
  • Платформа stepik;
  • Платформа coursera;
  • Бесплатный спецкурс, где Коля Касперский объясняет программу с нуля и рассказывает, как решать задания 6,12,16,17,24 и 27 для ЕГЭ. 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter. Мы обязательно поправим!

  • Информатика — уроки для подготовки к экзаменам ЕГЭ ОГЭ
  • ЕГЭ по информатике
  • Python с нуля для начинающих. ЕГЭ по информатике 2022

Канал видеоролика: ЕГЭ по информатике

Python с нуля для начинающих. ЕГЭ по информатике 2022

Смотреть видео:

#информатика #егэинформатика #икт #экзамены #егэ_2020 #мгту #школьникам #помощь_студентам #подготовкакэкзаменам

Свежая информация для ЕГЭ и ОГЭ по Информатике (листай):

С этим видео ученики смотрят следующие ролики:

Python с нуля для начинающих. Урок 1. Линейные алгоритмы, переменные, типы данных, операторы.

Python с нуля для начинающих. Урок 1. Линейные алгоритмы, переменные, типы данных, операторы.

ЕГЭ по информатике

Python с нуля. Урок 16 | Виды аргументов, *args, **kwargs

Python с нуля. Урок 16 | Виды аргументов, *args, **kwargs

Иван Викторович

Python с нуля. Урок 15 | Функции: Map, Filter, Reduce, Zip

Python с нуля. Урок 15 | Функции: Map, Filter, Reduce, Zip

Иван Викторович

Python с нуля. Урок 17 | Генераторы списков, множеств и словарей

Python с нуля. Урок 17 | Генераторы списков, множеств и словарей

Иван Викторович

Облегчи жизнь другим ученикам — поделись! (плюс тебе в карму):

09.04.2022

  • Комментарии

RSS

Написать комментарий

Нет комментариев. Ваш будет первым!

Ваше имя:

Загрузка…

28 декабря 2021

В закладки

Обсудить

Жалоба

100 страниц с последовательным изложением базовых конструкций языка программирования Python с объяснением, как они работают.

Материал не про ЕГЭ, материал именно про язык программирования. И будет полезен тем, кто хочет разобраться, а не «заучить шаблоны для ЕГЭ».

py.pdf

Источник: vk.com/inform_web

Задействуй сразу 2 канала восприятия

Большая база видео-материалов

Учись по вебинарам в записи

ШКОЛКОВО.

Готовиться с нами — ЛЕГКО!

Динамика, статика. Прогаем 27а. Поздравляю, ты запрогал КЕГЭ!

Урок окончен

Теория чисел и графы: решаем 17, 23, 25.

Урок окончен

Теория игр: секретный способ решения 19-21 задач ЕГЭ.

Урок окончен

Простейшие алгоритмы и функции. Рекурсия. Алгебра логики прогой. Решаем 2, 6, 12, 15, 16, 22, 24 задачи КЕГЭ

Урок окончен

Всё что надо знать про python с нуля: циклы for, while, ветвление if, операции //, %, массивы [], кортежи (), any, all, функции def, генераторы, append, split

Урок окончен

Всё что надо знать про python с нуля: циклы for, while, ветвление if, операции //, %, массивы [], кортежи (), any, all, функции def, генераторы, append, split

Как установить Python, IDLE и PyCharm для КЕГЭ по Информатике?

Открытый урок

Урок окончен

С чего начать программировать? Python с нуля для ЕГЭ (КЕГЭ).

Открытый урок

Урок окончен

Плюсы видеоуроков ЕГЭ по математике от «Школково»

Доступность

Смотреть видеоурок ЕГЭ по математике профильного уровня можно в любое время и в любом месте.

Достаточно иметь какое-либо устройство с выходом в Интернет:

  • Персональный компьютер
  • Ноутбук
  • Планшет
  • Смартфон

Удобство

Видеоуроки для подготовки к ЕГЭ по математике позволяют максимально рационально использовать свободное от учебы время. Вам не придется тратить драгоценные минуты на поездки к репетитору или в какие-либо обучающие центры. Видеоуроки ЕГЭ по математике, посмотреть которые вы можете на образовательном портале «Школково», содержат весь необходимый материал для эффективной подготовки к экзамену. Кроме того, наш ресурс позволяет каждому ученику выстроить коммуникацию со своим преподавателем.

Информативность

Каждый школьник может выбрать именно тот видеоурок ЕГЭ по математике, тема которого соответствует изучаемому или повторяемому им материалу. Таким образом, выпускник может быстрее и легче усвоить новую информацию или восполнить пробелы в знаниях.

При подготовке к экзамену нужно делать упор не на его сдачу как самоцель, а на повышение уровня знаний учащегося. Для этого необходимо изучать теорию, отрабатывать навыки, решая разнообразные варианты профильного ЕГЭ по математике нестандартными способами с развернутыми ответами, следить за динамикой обучения.

А поможет вам во всем этом образовательный проект «Школково».

Понравилась статья? Поделить с друзьями:
  • Обряды для хорошей сдачи экзамена
  • Обряды для успешной сдачи экзаменов
  • Обряды для удачной сдачи экзамена
  • Обряды для сдачи экзамена студенты
  • Обряды для сдачи экзамена по вождению