Предложили попробовать свои силы как учителю информатики в обучении нейросети Яндекса. Дело интересное, даже подкинули маленькую инструкцию. "Дело интересное!", - подумал я и начал делать задания. Но не подумал, что это на время. И тут по закону подлости всем стало что-то надо: одни звонят, другие приходят, семья в положение не вошли - мешали "только в путь".
Но что-то я успел. Вот, к примеру, задание уже не на обучение нейросети, а по информатике. Скриншоты этих заданий не сохранились.
А вот задание, в котором надо ошибки исправить. Где ж ошибки тут?
s = input()
max_len = 0
indl, ind2 = 0, 1
while ind2 < len(s):
if s[indl] in 'AEIOUY' and s[ind2] not in 'AEIOUY':
max_len = max(max_len, ind2 + indl)
ind2 += 1
else:
indl, ind2 = ind2 + 1, ind2 + 2
print (max_len)
Вот еще задание, пропуски заполнить надо...Вы бы как их заполнили?
for x in [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]:
y=x*x
z=y*y
w=z*x
if 1523466 < w < 8157813:
print (z, w)
А вот задание из ЕГЭ. Но решение задачи какое-то интересное)
Это уже часть 2. Надо дать объяснение. Подробно расписывать не представилось возможным, но расписал вот так.
Смотрим на блок "Python". Мы видим программу, с помощью которой считываются с клавиатуры два числа и выводится вердикт "YES" или "NO" в зависимости от выполнения условия.
Условный оператор описывается как
если <условие>, то <действие1>
иначе <действие2>
Для лучшего понимания приведу пример светофора: если мы видим зеленый свет, то переходим дорогу, иначе - стоим на месте
То есть если условие выполняется (в нашем случае если первое число строго меньше единицы (это числа от минус бесконечности до нуля включительно) и второе число строго меньше двух (это числа от минус бесконечности до 1 включительно), то будет выведено "YES", в противном случае нам будем выведено на экран "NO"
В условии мы видим составное логическое выражение с союзом "И" (AND - конъюнкция). Оно будет выполнено в том случае, если и первое простое условие "первое число меньше единицы" и второе - "второе число меньше двух" выполнятся.
То есть во всех 9 парах чисел мы ищем только те, которые удовлетворяют условию - первое число должно быть меньше, чем 1, второе - меньше, чем 2, ведь по условию мы ищем только те пары, которые дают нам вывод "YES". Пробегаемся по всем парам, находим 3 пары: (0, -2), (-2, 1), (-2, -4)
Еще одна задача из ОГЭ:
Итак, мы должны найти сумму только тех чисел из последовательности, которые делятся на 7 без остатка, и при этом оканчиваются на 2. Смотрим на пример: такие числа: 112 (112 : 7 = 16) и 42 (42 : 7 = 6). Их сумма 112 + 42 = 154.
Напомню, что кратность числа определяется в Python c помощью операции деления с остатком - "%". К примеру, 112 % 7 == 0, а целая часть от деления 112 // 7 == 16. Так же мы можем проверить последнюю цифру числа, отделив ее. 112 % 10 == 2
Для решения задачи можно использовать структуру данных список, но она решается легко с помощью цикла. Для организации ввода чисел с клавиатуры, используем цикл while, все ограничения по количеству чисел и их величины явно прописывать не будем.
s = 0 # инициализируем сумму чисел
n = int(input()) #считываем первое число последовательности
while n > 0: #оформляем цикл с предусловием "пока"
if n % 7 == 0 and n % 10 == 2: #если число делится на 7 без остатка и последняя цифра =2, то
s = s + n # увеличиваем переменную s, отвечающую за сумму на это число n, удовлетворяющее условию
n = int(input()) #считываем новое число последовательности (пока не 0)
print(s) # выводим на экран сумму, накопленную в процессе работы цикла. Мы выполним команду в том случае, если n будет равен 0
Была еще третья задача, из ЕГЭ, но ее я не успел сделать. Дали второй шанс позже, так что может быть напишу еще о своих "похождениях"