Меню

Python - Для сдачи ЕГЭ


Здесь приведены основные функции языка Python, необходимые для сдачи ЕГЭ

С чего начать - нужна среда разработки - можно использовать онлайн, например, здесь.

Как работает Программа на языке Python

def sum(a, b):
  return (a + b)
a = int(input('Enter 1st number: '))
b = int(input('Enter 2nd number: '))
print(f'Sum of {a} and {b} is {sum(a, b)}')

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


Программа сначала определяет функцию sum, затем принимает вводимые с клавиатуры переменные a и b, одновременно преобразовывает их в тип - целое число, и потом выводит сумму на экран, производя суммирование во время вывода.
Программу с экрана можно выделить мышкой и скопировать себе в редактор.

Вычисления в Python

Сложение, вычитание, умножение - как в обычной математике : a=5 b=2 c = a + b print('c= ', c1)#операцияя сложения print('a+b = ', a+b)#или так print('a-b = ', a - b)# = 10 это вычитание print('a*b = ', a*b)# = 10 это умножение Деление немного по-другому: a=5 b=2 print(a/b = ', a/b)# = 2,5 это обычное деление print('a//b = ', a//b)# = 2 - это целочисленное деление print('a%b = ', a%b)# - 1 - это остаток от деления Работа с условиями : x=2 if x==1: print('true') else: print('false')

Ввод числе и массивов в Python

Ввод числа: a=input() # - этот значок означает комментарий, после него в строке программа код не исполняет # Комментарии нужны для вас, чтобы потом разобраться, что делали Введем массив размера n с использованием цикла и выведем результат на экран : n = int(input()) a = [] for i in range(0, n):    a.append(int(input())) print(a)

Ввод данных из файла : f = open('24_demo.txt','r') #открыть файл для чтения a = f.read() #считать данные в переменную а - получим строку Решение типовых задач ЕГЭ - примеры кода

Задание ЕГЭ 6 - найти миксимальное или минимальное значение исходя из условий :
Определите, при каком наименьшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования. s = int(input()) n = 1 while s < 51: s = s + 5 n = n * 2 print(n) Решение - видим, что выводится число - два в некоторой степени, которое равно количеству циклов, соответственно, 64 - 2 в 6 степени, значит, начальное s должно быть равно 51-5*6=21. Подставляем, проверяем, -так и есть. Ответ : 21.

Задание ЕГЭ 16 - Ввод чисел и рекурсивная функция: Дана функция - нужно ее описать и найти F(26) F(n) = 1 при n = 1; F(n) = n + F(n − 1), если n – чётно, F(n) = 2 × F(n − 2), если n > 1 и при этом n – нечётно.

Решение :

def func (x): if x==1: return 1 elif x%2 == 0: return x + func(x-1) else: return 2*func(x-2) a=int(input()) func(a) Ответ: 4122

Задание ЕГЭ 17 - Расчетная задача с условиями и перебором значений в цикле:
Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа: сначала количество, затем максимальное число.
s=0 max1=0 for i in range(1016, 7938): if (i % 3==0 and i % 7!=0 and i % 17!=0 and i % 19!=0 and i % 27!=0): s=s+1 max1=i print(s, max1) #ответ = 1568 7935

Задание ЕГЭ 24

Загрузить файл, состоящий из X, Y, Z и посчитать количество подстрок XYZ, с учетом того, что они могут быть не полные

Файл скачать здесь

Решение ниже :

f = open('24_demo.txt','r') a = f.read() max=0 print(len(a)) count=0 for i in range (0, len(a)-1): #print(a[i]) if ((a[i]=='X' and count%3==0) or (a[i]=='Y' and count%3==1) or (a[i]=='Z' and count%3==2)): count = count + 1 #print('count = ', count) else: if max<count: #это место в программе будет давать ошибку (нужно '&' и 'lt;' заменить на '<') max=count print('max = ', max) count=0 print(max) Задание ЕГЭ 26

Загрузить файл, - в файле задан обьем диска системного администратора, чтобы сохранить данные пользователей, и размер данных, которые хранят пользователи. Задача - сохранить данные максимально числа пользователей и вывести это число на экран и размер самого большого файла (при условии максимального числа пользователей.

Файл c данными скачать здесь

Решение ниже :

f = open('26_1.txt','r') a = f.read() #print(a) #print(len(a)) result = a.split() # переводим данные в массив #print(result) result1 = [int(item) for item in result] volume=result1[0] number=result1[1] print('макс пользов', number) result1.pop(0) result1.pop(0) result2= sorted(result1) print(result2) summa=0 for i in range (0, number+1): if summa < volume and summa+result2 < volume: summa=summa+result2[i] else : break print('нужно заполнить volume= ', volume) print('предваретельная summa= ', summa) print('i= ', i) print('посл элемент=', result2[i] ) num1=i dop = result2[i] print('dop= ', result2[i]) raznitsa=volume-summa print('raznitsa= ', raznitsa) del1=dop-raznitsa print('нужно удалить = ', del1) if result2.index(del1): result1.remove(del1) print('есть такое число') summa=summa-del1+dop print('окончательная summa= ', summa) print('i= ', i) else: for i in range (num1+1, 0, -1): print('i= ', i, 'число= ', result2[i]) if summa < volume and summa+result2[i] < volume: summa=summa+result2[i] print('окончательная summa= ', summa) print('i= ', i) Задание ЕГЭ 27

В файле задано число пар и далее заданы пары чисел. Нужно из каждой пары выбрать число так, чтобы сумма получилась максимальной и при этом она не делилась на 3.

Файл с данными скачать здесь

Решение ниже :

f = open('27-B_demo.txt','r') line = f.readline() # считываем по строчно summa = 0; min1=1000 while line: result = line.split() #- переводит строку в массив #print (result) if (len(result)==2): # работаем с парами чисел summa = summa+int(max(result[0], result[1])) if min1 > abs(int(result[0])- int(result[1]) and int(min(result[0], result[1]))%3!=0): min1=int(min(result[0], result[1])) line = f.readline() f.close() if (summa%3!=0): print(summa) print(min1) else: summa=summa-min1 print(summa)
На этом пока все - пишите пожелания и вопросы на почту dmitryra27@gmail.com