🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
@@a.kov.4965 тоже со степика здесь.... приходится чередовать. Когда там с задачей тупилово возникает - сосредотачиваюсь на этих уроках, потом возвращаюсь назад....как то так...
Сколько ни смотрел других, чтобы просто расширить кругозор и может еще инфы добавить по теме, всегда возвращаюсь к этому автору) Без всяких Ээээээ, Ммммм и другой воды, с нормальным звуком, и скоростью печати, когда не хочется включать х1.5 или х2... Спасибо большое!
Упражнение на строки: a=input() a=a.lower() b=len(a) c=[] vowels='aeiou' for i in range(b) : if a[i] not in vowels : c.append('.'+a[i]) print(''.join(c))
Лично я пересмотрел 5 уроков уже по этому for, и ничего не понял что да как. Зачем создавать переменную, и вообще как это он создал переменную без типа данных, и после for?
Следующий раунд n,k=map(int,input().split()) a=map(int,input().split()) a=list(a) s=[] for i in range (n): if a[i]>=a[k-1] and a[i]>0: # если балы участника больше или равно участника занявшего место К и больше нуля s.append(a[i]) # закидываем баллы в новый список print(len(s)) # подсчитываем количество участников в списке
Выбор команд: CountOfPlay = int(input(' ')) plays = list(map(int, input(' ').split())) canplayersplay = [] for i in range(len(plays)): if plays[i] + CountOfPlay
Есть комбинированный вариант (по значениям и по индексам одновременно) без range(), часто его использую в местах где нужен доступ к индексам, но не хочется работать с ними "вслепую" - зовется enumerate(). Вывод примеров (ниже) будет идентичен обходу по индексам, но при этом код выглядит чище. И на грабли сложнее наступить т.к. нет прямого доступа к манипулированию индексами. Пример 1: >items = [43, 65, 3, 43, 3, 54, 3] >for i, item in enumerate(items): > print(i, item) >print(items) Пример 2 (правда распаковка пока не объяснялась, просто показываю как еще можно): >a = [43, 65, 3, 43, 3, 54, 3] >for i in enumerate(a): > print(*i) >print(a)
Замок a=str(input()) b=str(input()) vsego=0 for i in range(len(a)) : c=int(a[i]) d=int(b[i]) if abs(c-d)>5 : vsego=vsego+10-abs(c-d) else : vsego=vsego+abs(c-d) print(vsego)
37A - Башни: n = int(input()) a = list(map(int, input().split())) b = [] # список без дублей, определяет кол-во башен x = 1 # временный счетчик, для сравнения с постоянным c = 1 # постоянный счетчик высоты. for i in a: if i not in b: b.append(i) elif i in b: x = a.count(i) if x > c: c = x print(c, len(b))
решил и попробывал сделать сам со списком до того, как ты сказал и вот что получилось у меня. В принципе то же самое, но смысл городить лишнюю переменную? a=[43,44,10,25,12,100] for i in range(len(a)): print(i, a[i])
Еще немного напрягает определение нижнего и верхнего регистра, ведь можно сделать как цифры методом .isdigit(), только .islower() и .isupper() для строк. Пример: >s='helLo WOrld' >for i in s: > if i.islower(): > print(i, 'small') > elif i.isupper(): > print(i, 'big') > else: > print(i)
Важное замечание (может об этом дальше упоминается, но я еще не смотрел). В переменную i значения сохраняются только при работе с "примитивами" (int, float и т.д.). Если работать с объектами, то туда будет сохраняться ссылка. Вот пример: some_list = [[1], [2], [3], [4], [5]] for i in some_list: i[0] += 1 print(some_list) В итоге, все значения буду модифицированы. Вывод в консоль: [[2], [3], [4], [5], [6]]
6 / Тренування Єгора ______________________ n=int(input()) a=list(map(int,input().split())) chest=0 bic=0 back=0 for i in range(n): if (i+1)%3==1: chest+=a[i] elif (i+1)%3==2: bic+=a[i] else: back+=a[i] if chest>bic and chest>back: print('chest') elif bic>chest and bic>back: print('biceps') else: print('back')
Мои решения задач урока: Удалить Каждый Третий Символ: a = input() b = '' for i in range(len(a)): if i % 3 != 0: b = b + a[i] print(b) Полицейские-рекруты: n = int(input()) a = map(int, input().split()) a = list(a) freePolice = 0 unsolvedCrime = 0 for i in range(n): if a[i] > 0: freePolice = freePolice + a[i] if unsolvedCrime > 0: unsolvedCrime = unsolvedCrime if a[i] < 0: if freePolice 0: freePolice = freePolice - 1 print(unsolvedCrime) I_love_%username%: n = int(input()) a = map(int, input().split()) a = list(a) a1 = [a[0]] amazing = 0 minNumber = a[0] maxNumber = a[0] for i in range(n - 1): a1.append(a[i + 1]) if a[i + 1] == max(a1) and maxNumber != a[i + 1] or a[i + 1] == min(a1) and minNumber != a[i + 1]: amazing = amazing + 1 if a[i + 1] == max(a1): maxNumber = a[i + 1] elif a[i + 1] == min(a1): minNumber = a[i + 1] print(amazing) Следующий раунд: n, k = map(int, input().split()) a = map(int, input().split()) a = list(a) b = [] c = 0 for i in range(n): if a[i] >= a[k - 1] and a[0] > 0 and a[i] != 0: b.append(a[i]) c = len(b) if c > 0: print(c) else: print(0) Праздник равенства: n = int(input()) a = map(int, input().split()) a = list(a) b = max(a) total = 0 for i in range(n): if a[i] != b: total = total + b - a[i] else: total = total print(total) Упражнение на строки: n = input() a = 'aoyeui' total = '' for i in range(len(n)): if n[i].lower() in a: total = '' + total else: total = total + '.' + n[i].lower() print(total) Не Смешите Мои Подковы: s = map(int, input().split()) s = list(s) s.sort() a = [] for i in s: if i not in a: a.append(i) a = len(a) new = 4 - a print(new) Напитки: n = int(input()) p = map(int, input().split()) a = 0 for i in p: a = a + i / n print(a) Выбор Команд: n, k = map(int, input().split()) y = map(int, input().split()) y = list(y) a = [] for i in range(n): if int(y[i]) + k = 1: print(len(a) // 3) else: print(0) Быстрый Математик: a = input() b = input() c = '' for i in range(len(a)): if a[i] == b[i]: c = c + '0' else: c = c + '1' print(c)
Вопрос по решению задачи _love_%username%: Если кто объяснит буду признателен! Почему range(n-1) и далее по коду a[ i+1] никак не могу уловить суть. Конечно можно было переписать, и надеяться, что дальше пойму. Но все таки хотелось сразу разобраться.
более лайтовый вариант полицейских-рекрутов: kol=int(input()) a=map(int,input().split()) a=list(a) x=0 #число свободных полицейских z=0 #число нераскрытых преступлений for i in range(kol): x=x+a[i] if x
задача Напитки : x = list(map(int,input("juice : ").split())) y = len(x) water = 0 juice = 0 for i in range(y): water = water +100 juice +=x[i] print(juice/water*100)
На задаче 136А споткнулся на целых 3 часа. Минут сорок бился сам, потом нашел два готовых решения на ютубе(русский с решением настолько непонятным, что один в один индус, и араб, который реально все разжевал, но чье решение мне тоже не слишком понравилось, так как я хотел по порядку заполнять, а у него была хитрая схема). И вот, 5 часов утра, я наконец придумал свое решение и лежу довольный как слон
4 / Next round ______________________________ n,k=list(map(int,input().split())) a=list(map(int,input().split())) x=0 l=a[k-1] if l=l: x+=1 if x>0: print(x)
Подскажите пожалуйста момент на 6.33. Почему когда выводим первым принтом (i, a[i]) и после к каждому значению списка "а" прибавляем 5, при финальном выводе плюсуется пятерка только к горизонтальному выражению? Цикл же повторяется 6 раз для print( i, a[ i ] ) и после значение списка увеличивается на 5, после опять выводится... т.е. должно быть 43,70,8,48,8,59,81
Следующий раунд: n,k = map(int,input().split()) a = list(map(int, input().split())) count=0 for i in range(len(a)): if a[i]>=a[k-1] and a[i]>0: count+=1 print(count)
@@АнтонМеренков-р6я так Вы попробовали бы и сами бы поняли :) Т.к. в питоне нумерация индексов начинается с нуля, нужно проверять k-1, т.е. не с единицы, а с нуля. Например с входными данными: 5 5 6 4 3 2 1 будет проверяться условие a[i]>=a[5] and a[i]>0, при этом возникнет ошибка - выход за предел списка, т.к. в списке [a] нет значения с индексом 5. a[0]==6, a[1]==4, a[2]==3, a[3]==2, a[4]==1, a[5] не существует. Не знаю как объяснить понятнее.
Добрый день. Смотрю Ваши уроки, у меня такой вопрос, можно ли запихнуть в цикл for 2 списка списки с датами и временем, то есть список start и end, после чего проверить их на пересечение между собой ?
12 / Швидкий математик __________________________ n=input() m=input() for i in range(len(n)): if int(n[i])!=int(m[i]): print(1,end='') else: print(0,end='')
9.15 a = [45,35,324,2,10,45,35,67] chet = [] nechet = [] for i in a: if i%2 == 0: chet.append(i) else: nechet.append(i) print(chet) print(nechet) А разве так нельзя?
На гитхабе нашел такое решение задачи 155А, чтобы проверить со своим n = int(input()) p = list(map(int, input().split())) print(sum(1 for i in range(1, n) if max(p[:i]) < p[i] or min(p[:i]) > p[i])) Я пытался найти информацию, но видимо я очень плохо ищу. У меня есть вопросик. Если вместо 1 перед for поставить 2, то конечный результат удвоится, а если 3 то утроится. Это же должна быть сумма, но почему получается умножение? Иии я удивился, что такая запись возвращает не элемент списка, но я думаю, это сам когда-нибудь пойму)))
Стало интересно решить эту задачку,скорее всего она уже вам не нужна,но всё же я выложу здесь своё решение)) a = [1,2,3,4,5,6,7,8,9] n = len(a) spisok = [] for i in range(n-1): spisok.append (a[i]+a[i+1]) print(spisok)
Задача Башни N=int(input()) l=list(map(int,input().split())) d=[] h=1 count=0 for i in range(len(l)): if l[i] not in d: count+=1 else: h+=1 d.append(l[i]) print(h,count, sep=' ') ошибка на 6-ом тесте. Вижу, где она. нужна дополнительная проверка количества одинаковых чисел в списке d после else: Но что-то не понимаю, как реализовать. Опять через for in?
Праздник Равенства ☭ Решил как-то так) a=int(input("Введите количество жителей:")) c=[] s=0 for i in range(a): b=int(input("Введите благосостояние жителей:")) c.append(b) m=max(c) for i in c: s=s+m-i print(s)
Подскажите как можно уменьшить этот код? на выходе должно выходить ['one', 'two', 1, 2, 3] l=[] a=('one','two',[1,2,3]) l.append(a[0]) l.append(a[1]) for i in a[2]: l.append(i) print(l)
Артем как сделать проверку значений на четность из списка 5000 -10000 значений следующим образом. А=[1,5,8,4,4,2,9,7,1,0,3,8,9,1,6,9,0,0,6,9,8,2,0,1,1,9,9,8,4,2,1,6,8,9,7,2,1,3…..] обход начинается с 10 индекса … 1 2 3 4 5 6 7 8 9 10 l 11 12 13 14 15 16 17 18 19 20 а10 ( 3 ) сравниваем с а11 ( 8) - не совпало по четности а9 ( т.е. а10-1) сравниваем с а12 - не совпало по четности а12 сравниваем с а13 не совпало по четности а7 (т.е. а10-3) сравниваем с а14 не совпало по четности а14 сравниваем с а15 не совпало по четности а5 (т.е.а10-5) сравниваем с а16 не совпало по четности а16 сравниваем с а17 не совпало по четности а3 т.е. (10-7) сравниваем с а18 условно прошло совпадение , цикл пошел заново c а18 сравниваем с а19 не совпало по четности а17 ( 18- 1 ) сравниваем с а20 ,,,,,, пока не совпадет, и после выводит индекс первого числа на интервале которого произошло более 5 не совпадений только те совпадения
Здравствуйте, может кто подскажет где я допускаю ошибку, уже 2й день прыгаю по форумам не могу ничего подобного найти. Создаю список с поочередным вводом значений, а на выходе при попытке перемножить вместо искомого получается дублирование чисел... q=input() w=input() e=input() a=[q, w, e] a.sort() print(a) for x in a: x=x*7 print(x)
9:40 результат не правильный в первом списке 5 это не четное число, также как и во втором списке присутствует 8 а она четная. Также у себя в пайчарме проверил, также выдает некорректный ответ. В команде chet.append(i) ошибка, надо chet.append(a[i]) также и necht.append(a[i])
я посчитал, что в примере, где рассматривается обращение к соседним элементам, использование побочной переменной более наглядно. А так, конечно и без нее можно обойтись
Задача 16. Неправильный ответ на тесте 9. Всю голову сломал, нет идей что у меня не так: n = int(input()) z = 1 b = [] result = [] for i in range(n): h, m = map(str,input().split()) b.append((h+m)) z = b.count((h+m)) result.append(z) print(max(result))
после результатов был подсказ, что типа если два клиента приходит одновременно, у них обоих должна быть свободная касса. 2 клиента - 2 свободные кассы. совпадение часов и минут, все дела. для этого у h и m должны быть свои отдельные списки
Здравствуйте, возможно ли при a = list(map(int, input().split())) команде (ввожу какое-то число n(1122),) реализовать [1,1,2,2]-разбить число в списке по разрядам. Это реально?
вводишь строку, и тут 2 варианта 1) превращаешь ее в список и потом при помощи map каждый элемент списка в число 2) генератором списка проходишься по элементам строки и превращаешь в число
Что не так в коде? Задача I_love_%username% n = int(input('enter h mc matches in general: ')) for i in range(n+1): b = int(input('scores: ')) n = [b] if n[i] and n[i+1]: e = max(n[i], n[i+1]) print(e)
1.зачем вводить баллы в цикле, когда требуется, чтобы пользователь вводил все числа через пробел? нужно взять и перед циклом в новую переменную засунуть все баллы (дать это сделать пользователю. через пробел), и потом сделать из него список ("переменная"=list("переменная")). 2.с range тоже беда. счёт ведётся с нуля. выйдет за рамки диапазона это ваше for. вместо n+1 нужно записать туда n. или начать с 1. 3. что мы ищем? количество "удивительных" результатов, т.е. результатов, выходящих за рамки диапазона. нужна переменная-счётчик. ещё для удобства нужно перед циклом добавить две переменные, одна из которых будет максимальным числом, другая - минимальным, и обнулить их 4. в цикле, если i не равно нулю (в задаче говорится, что первый результат - а для программистов это нулевой - не "удивительный"), если число в списке больше максимума, приравниваем число к максимуму + используем переменную счётчик (типа "переменная"="переменная"+1). если меньше минимума, то приравниваем к минимуму + опять к счётчику +1. 5. в конце после цикла вводим пользователю число в счётчике - количество "удивительных" результатов. как-то так))
Здравствуйте! Вроде бы понятно, но не до конца.. Например, есть список [0, 1, 2, 3, 4, 5, 6], в котором нужно переставить элементы местами так, чтобы менялись местами элементы с индексами 0 и 1, 2 и 3 и т.д. Если кол-во элементов в списке нечетное, то последний элемент должен остаться на своем месте. Пишу: a = [0, 1, 2, 3, 4, 5, 6] i = 0 for i in range(len(a) // 2): a[i], a[i + 1] = a[i + 1], a[i] i += 2 print(a) Получаю результат: [1, 2, 3, 0, 4, 5, 6], а должен быть [1, 0 , 3, 2, 5, 4, 6]. Не могу никак понять, что делаю не так.. Гуру питона, подскажите, пожалуйста, новичку
@@egoroffchannel, можете подсказать, пожалуйста, как тогда правильно задать шаг индекса в данном случае, чтобы работало, как ожидается? Понимаю, что задача элементарная, но уже не первый день ищу информацию, которая поможет разобраться. В ваших видео все доступно изложено, но конкретно с этой задачей возникает проблема..
@@egoroffchannel кажется, разобралась наконец) спасибо) сделала так: a = [0,1,2,3,4] n = len(a) - 1 for i in range(0, n, 2): a[i], a[i + 1] = a[i + 1], a[i] print(a) Результат получаю ожидаемый
Коллеги, вопрос по задаче 14 (башни). Не отрабатывает сценарий, если ввести тупо 0, если введу 2 нуля, то все ок. Ссылка: github.com/FreeToKyle/PythonSyntax/blob/main/CodeForce
print("Error") эта строчка вообще не нужна а так, вам надо найти какое максимальное количество подряд идет одинаковых чисел - это самая высокая башня, и сколько всего разных чисел - это количество башен
подскажите пожалуйста, как вводить динамическое количество значений. Например x = int(input()) - икс может быть любым значением. от икса зависит сколько значений я должен ввести дальше. я знаю только одну такую команду a, b, c = map(int, input().split()) - но количество вводных (a,b,c) статично. я говорю об этой задаче. codeforces.com/problemset/problem/200/B P.s. сорян если задаю совсем тупой вопрос. может быть хотя бы объясните ( можно с матами ) как воспринимать и описывать эти вводные в коде.
Исправил: a = [ 1,2,3,4,32,4,5,3,5 ] chet = [ ] nechet = [ ] for i in range ( len ( a )): if a [ i ] % 2 == 0: chet.append( a [ i ] ) else: nechet.append( a [ i ] ) print ( chet ) print ( nechet )
@@egoroffchannel , блин всё перепутал... я думал мы элементы списка делим на чётные и нечётные и складываем в переменные chet и nechet, а оказалось что индексы складываем. Пардон)) Я перезанимался, надо перерыв сделать))
Тренировки Егора. У меня лютейшая дичь получилась, может кто сделал на много проще? n= int(input()) a = list(map(int, input().split())) count=1 chest,biceps,back=0,0,0 for i in range(len(a)): if count==1: chest+=a[i] count+=1 elif count==2: biceps+=a[i] count += 1 elif count==3: back+=a[i] count =1 if chest > biceps > back: print('chest') if biceps > chest > back: print('biceps') if back > chest > biceps: print('back')
Я не знаю, как короче. Есть вопрос, зачем писать chest+=a[i] если можно написать chest+=i или я что-то не понимаю... ведь a[i] это будет индекс числа, а не число
@@NikolaiKim a[i] будет числом в данном случае, а просто i - индекс. А так как нам не индексы складывать нужно, а общее число повторений для каждой группы мышц, то и берем a[i], то есть значение из списка по индексу [i].
Твой ответ правильный только до 3 ввода. Вот правильный: n=int(input()) a=list(map(int,input().split())) count=1 c=[] #chest f=[] #biceps h=[] #back for i in range(len(a)): if i%3==0: c.append(a[i]) elif i%3==1: f.append(a[i]) elif i%3==2: h.append(a[i]) if sum(h)sum(f): print('chest') elif sum(h)sum(c): print('biceps') else: print('back')
я вот так написал и не надо прибавлять еденицу a=[1,1,2,2,3,4,4,68,99,33,11] chet = [] nechet = [] for i in a: if i % 2 == 0: chet.append(i) else: nechet.append(i) print(chet) print(nechet)
I_love_%username%: n = int(input()) b = map(int, input().split()) count = 0 bmin, bmax = 10001, -1 for i in b: if i > bmax: bmax = i count += 1 if i < bmin: bmin = i count += 1 print(count - 2)
I_love_%username%: n = int(input()) b = list(map(int, input().split())) count = 0 bmin, bmax = b[0], b[0] for i in b: if i > bmax: bmax = i count += 1 if i < bmin: bmin = i count += 1 print(count)
Следующий раунд: n, k = map(int, input().split()) a = list(map(int, input().split())) count = 0 for i in a: if i >= a[k - 1] and i > 0: count += 1 print(count)
Праздник равенства: n = int(input()) a = list(map(int, input().split())) max, sum = 0, 0 for i in a: if i > max: max = i sum += i print(max * len(a) - sum)
Привет Автору и всем. Задачу никак не могу решить, помогите пожалуйста. Пробую написать калькулятор. На этапе ввода оператора (когда юзер ввел число, следом вводит оператор), необходимо понять ввели он оператор например + или - и если условие верно длаее запросить второй ввод числа, если ввел текст, или число (все кроме указанных операторов) просить ввести снова. Сломал голову. Код прилагаю. print('Я калькулятор, помогаю тебе считать') print('Введи число ') while True: try: digit = float(input()) except ValueError: print('Введи число , а не что то ') else: break operator = input('Теперь введи оператор \t\t\t+ сложить,' ' \t\t\t- вычесть, \t\t\t* умножить,' ' \t\t\t/ разделить, \t\t\t** возвести в квадрат ') while True: for i in operator: if i == '+' or '-': break else: if operator=='+': digit2 = float(input('Введи второе число ')) print('Результатом сложения твоих чисел',digit,'и',digit2,'является число',digit+digit2)
я один обратил внимание, что в примере с четными и нечетными числами ошибка в выводе? ua-cam.com/video/iopPsTT7Pes/v-deo.html не вывелось 32 и получилась 5 в четных.
Во втором уроке, (вывод Empty) если список пустой. Можно использовать обработчик ошибок. Возможно можно было сразу сказать об этом в видео. Вот код: a = input().split() # вводим строку и разбиваем по пробелам n = len(a) # длинна строки b = [] # пустой список for i in range (n): # в цикле по длине строки проверяем что число > 0 и добавляем его в новый список if int(a[i])>0: b.append(int(a[i])) try: print (min(b)) # выводим минимальное значение из списка except ValueError: print('Empty') # если у нас ошибка (список пустой), перехватываем ее и выводим Empty
@@egoroffchannel Благодарю за внимание к моей проблеме. for a in b: ____возврат: (*такой опрерации нет в питоне)____ try: если нет ошибки то выполняется этот кусок кода except: если возникла ошибка GOTO ____возврат: (*такой опрерации нет в питоне)____
Пытаюсь решить задачу, где как раз надо сравнивать пары i и i+1 элемент. Написала цикл for i in range(len(row)-1). Например, len(row) = 7, то range(len(row)-1) = 6, то моя прога стопает цикл на i = 5, пропуская захват i+1 (тут 6го) элемента...и из-за этого не выводит последний нужный элемент. По цифрам это логично, но на видео последнюю пару захватил цикл нормально. Как это исправить я не понимаю :( подскажите плз
@@egoroffchannel pastebin.com/VvFyjuBh Для того, чтоб на входе строку а ля a4Q10e2 вывести в aaaaQQQQQQQQQQee. Была ещё мысль вытащить какие-то действия присваивания из-под if-оу, но чёт пока не соображу (
🫵 Теория без практики - ничто, поэтому 👇
🐍 stepik.org/course/63085/promo
👉 специально для тебя создал бесплатный топовый курс по Python
👉 В нем тебя ждет:
📗 более 400 практических заданий на программирование
📗 более 250 тестовых заданий на проверку материала
📗 десятки часов видеоматерилов по теории
📗 видеоразборы решения заданий
📗 текстовые материалы по урокам, примеры кода
📗 доступ к закрытому чату с дружественной обстановкой
📗 сертификат в случае успешного прохождения курса
Смотрю 2 день уроки! Решаю примеры, также сам их себе придумываю. Ни разу не возникло желания бросить. Вот, что значит хороший учитель!
огонь коммент!)
ты не горячись, подожди хотя бы месяц :)
И как сейчас результаты? Я с курсов по степику узнал об этом канале. Так там за задачками некоторыми дни трачу. Забросить изучение возникало и не раз.
дохуя раз возникло желание бросить
@@a.kov.4965 тоже со степика здесь.... приходится чередовать. Когда там с задачей тупилово возникает - сосредотачиваюсь на этих уроках, потом возвращаюсь назад....как то так...
Сколько ни смотрел других, чтобы просто расширить кругозор и может еще инфы добавить по теме, всегда возвращаюсь к этому автору)
Без всяких Ээээээ, Ммммм и другой воды, с нормальным звуком, и скоростью печати, когда не хочется включать х1.5 или х2... Спасибо большое!
информативность в видео зашкаливает, без воды, отлично объясняете, спасибо
Отличные уроки, отличный учитель. Спасибо большое за уроки!!!
Учиться Питону с Вами - просто и интересно!!!
А вдруг твой аккаунт все еще живой... Научился питону, или забросил?)
большое спасибо за твои уроки, даёшь действительно интересные и полезные примеры того, как работает цикл for
Артём, благодарю! 👍🤝🔥
Упражнение на строки:
a=input()
a=a.lower()
b=len(a)
c=[]
vowels='aeiou'
for i in range(b) :
if a[i] not in vowels :
c.append('.'+a[i])
print(''.join(c))
а вы здесь используете метод join чтобы сообщение которое выведится не выглядело как список?
Спасибо тебе, Дружище! )
Очень интересно смотреть и при этом всё понятно
Шикарно объясняешь, и примеры отличные, красава, жги дальше!)
Ну наконец то достойное обьяснение сложным вещам! Блогеры только на подписоту работают ничего обьяснить не могут))) четко обьясняешь
Лично я пересмотрел 5 уроков уже по этому for, и ничего не понял что да как. Зачем создавать переменную, и вообще как это он создал переменную без типа данных, и после for?
@@eugenijx мужик хороший вопрос, я тоже так и не понял зачем и откуда эта переменная)
Следующий раунд
n,k=map(int,input().split())
a=map(int,input().split())
a=list(a)
s=[]
for i in range (n):
if a[i]>=a[k-1] and a[i]>0: # если балы участника больше или равно участника занявшего место К и больше нуля
s.append(a[i]) # закидываем баллы в новый список
print(len(s)) # подсчитываем количество участников в списке
Классно! Спасибо за урок!
не за что)
@@egoroffchannel за урок)
Выбор команд:
CountOfPlay = int(input(' '))
plays = list(map(int, input(' ').split()))
canplayersplay = []
for i in range(len(plays)):
if plays[i] + CountOfPlay
Праздник равенства:
allmoneys = list(map(int,input().split()))
maxnum = max(allmoneys)
count = 0
for i in allmoneys:
count += maxnum - i
print(count)
Спасибо за уроки!!
Спасибо огромное, помог решить задачу на Яндекс.Практикуме подробным объяснением циклов. Для меня это самая сложная тема во всём программировании
Какой же классный курс, как все разжевывают, просто космос +++
0:16 с помощью фор обходить будем списки и строки
0:27 пример
2:05 пример с увеличением i
3:00 сама переменная i не изменяет объект
3:08
Устал писать после 3-х минут?
Есть комбинированный вариант (по значениям и по индексам одновременно) без range(), часто его использую в местах где нужен доступ к индексам, но не хочется работать с ними "вслепую" - зовется enumerate(). Вывод примеров (ниже) будет идентичен обходу по индексам, но при этом код выглядит чище. И на грабли сложнее наступить т.к. нет прямого доступа к манипулированию индексами.
Пример 1:
>items = [43, 65, 3, 43, 3, 54, 3]
>for i, item in enumerate(items):
> print(i, item)
>print(items)
Пример 2 (правда распаковка пока не объяснялась, просто показываю как еще можно):
>a = [43, 65, 3, 43, 3, 54, 3]
>for i in enumerate(a):
> print(*i)
>print(a)
эту функцию я для отдельного видео решил оставить)
Очень интересно. Оказывается цикл for работает не только с числами но и строками и списками.
Учу на степике, но какие то моменты не понимаю, нашел тебя, материал огонь 🔥 спасибо
спасибо большое за ролик, мне с задачкой одной очень помогло в понимании
Отличный учитель.
Просто красавчик!!!
Замок
a=str(input())
b=str(input())
vsego=0
for i in range(len(a)) :
c=int(a[i])
d=int(b[i])
if abs(c-d)>5 :
vsego=vsego+10-abs(c-d)
else :
vsego=vsego+abs(c-d)
print(vsego)
Приятный голос у тебя),ставьте чуваку лайки,он заслуживает:)!!!
угу
37A - Башни:
n = int(input())
a = list(map(int, input().split()))
b = [] # список без дублей, определяет кол-во башен
x = 1 # временный счетчик, для сравнения с постоянным
c = 1 # постоянный счетчик высоты.
for i in a:
if i not in b:
b.append(i)
elif i in b:
x = a.count(i)
if x > c:
c = x
print(c, len(b))
понятно и кратко, то что нужно! Огромное спасибо!
Спасибо за урок!
решил и попробывал сделать сам со списком до того, как ты сказал и вот что получилось у меня. В принципе то же самое, но смысл городить лишнюю переменную?
a=[43,44,10,25,12,100]
for i in range(len(a)):
print(i, a[i])
Еще немного напрягает определение нижнего и верхнего регистра, ведь можно сделать как цифры методом .isdigit(), только .islower() и .isupper() для строк.
Пример:
>s='helLo WOrld'
>for i in s:
> if i.islower():
> print(i, 'small')
> elif i.isupper():
> print(i, 'big')
> else:
> print(i)
да, тоже хороший вариант. Этот способ был выбран потому что он одинаково реализуется и на других языках
Важное замечание (может об этом дальше упоминается, но я еще не смотрел).
В переменную i значения сохраняются только при работе с "примитивами" (int, float и т.д.). Если работать с объектами, то туда будет сохраняться ссылка. Вот пример:
some_list = [[1], [2], [3], [4], [5]]
for i in some_list:
i[0] += 1
print(some_list)
В итоге, все значения буду модифицированы. Вывод в консоль:
[[2], [3], [4], [5], [6]]
А это что? ООП?
6 / Тренування Єгора
______________________
n=int(input())
a=list(map(int,input().split()))
chest=0
bic=0
back=0
for i in range(n):
if (i+1)%3==1:
chest+=a[i]
elif (i+1)%3==2:
bic+=a[i]
else:
back+=a[i]
if chest>bic and chest>back:
print('chest')
elif bic>chest and bic>back:
print('biceps')
else:
print('back')
Мои решения задач урока:
Удалить Каждый Третий Символ:
a = input()
b = ''
for i in range(len(a)):
if i % 3 != 0:
b = b + a[i]
print(b)
Полицейские-рекруты:
n = int(input())
a = map(int, input().split())
a = list(a)
freePolice = 0
unsolvedCrime = 0
for i in range(n):
if a[i] > 0:
freePolice = freePolice + a[i]
if unsolvedCrime > 0:
unsolvedCrime = unsolvedCrime
if a[i] < 0:
if freePolice 0:
freePolice = freePolice - 1
print(unsolvedCrime)
I_love_%username%:
n = int(input())
a = map(int, input().split())
a = list(a)
a1 = [a[0]]
amazing = 0
minNumber = a[0]
maxNumber = a[0]
for i in range(n - 1):
a1.append(a[i + 1])
if a[i + 1] == max(a1) and maxNumber != a[i + 1] or a[i + 1] == min(a1) and minNumber != a[i + 1]:
amazing = amazing + 1
if a[i + 1] == max(a1):
maxNumber = a[i + 1]
elif a[i + 1] == min(a1):
minNumber = a[i + 1]
print(amazing)
Следующий раунд:
n, k = map(int, input().split())
a = map(int, input().split())
a = list(a)
b = []
c = 0
for i in range(n):
if a[i] >= a[k - 1] and a[0] > 0 and a[i] != 0:
b.append(a[i])
c = len(b)
if c > 0:
print(c)
else:
print(0)
Праздник равенства:
n = int(input())
a = map(int, input().split())
a = list(a)
b = max(a)
total = 0
for i in range(n):
if a[i] != b:
total = total + b - a[i]
else:
total = total
print(total)
Упражнение на строки:
n = input()
a = 'aoyeui'
total = ''
for i in range(len(n)):
if n[i].lower() in a:
total = '' + total
else:
total = total + '.' + n[i].lower()
print(total)
Не Смешите Мои Подковы:
s = map(int, input().split())
s = list(s)
s.sort()
a = []
for i in s:
if i not in a:
a.append(i)
a = len(a)
new = 4 - a
print(new)
Напитки:
n = int(input())
p = map(int, input().split())
a = 0
for i in p:
a = a + i / n
print(a)
Выбор Команд:
n, k = map(int, input().split())
y = map(int, input().split())
y = list(y)
a = []
for i in range(n):
if int(y[i]) + k = 1:
print(len(a) // 3)
else:
print(0)
Быстрый Математик:
a = input()
b = input()
c = ''
for i in range(len(a)):
if a[i] == b[i]:
c = c + '0'
else:
c = c + '1'
print(c)
Вопрос по решению задачи _love_%username%:
Если кто объяснит буду признателен! Почему range(n-1) и далее по коду a[ i+1] никак не могу уловить суть. Конечно можно было переписать, и надеяться, что дальше пойму. Но все таки хотелось сразу разобраться.
более лайтовый вариант полицейских-рекрутов:
kol=int(input())
a=map(int,input().split())
a=list(a)
x=0 #число свободных полицейских
z=0 #число нераскрытых преступлений
for i in range(kol):
x=x+a[i]
if x
Очень крутой уроки спасибо за урок
9 / Напитки
____________
n=int(input())
a=list(map(int,input().split()))
x=0
for i in range(n):
x+=a[i]/100
c=(x/n)*100
print(round(c,12))
Отличный урок!
задача Напитки :
x = list(map(int,input("juice : ").split()))
y = len(x)
water = 0
juice = 0
for i in range(y):
water = water +100
juice +=x[i]
print(juice/water*100)
На задаче 136А споткнулся на целых 3 часа. Минут сорок бился сам, потом нашел два готовых решения на ютубе(русский с решением настолько непонятным, что один в один индус, и араб, который реально все разжевал, но чье решение мне тоже не слишком понравилось, так как я хотел по порядку заполнять, а у него была хитрая схема). И вот, 5 часов утра, я наконец придумал свое решение и лежу довольный как слон
4 / Next round
______________________________
n,k=list(map(int,input().split()))
a=list(map(int,input().split()))
x=0
l=a[k-1]
if l=l:
x+=1
if x>0:
print(x)
5 / Празник рівності
_____________________
n=int(input())
a=list(map(int,input().split()))
x=0
for i in range(n):
if a[i]
10 / вибір команд
___________________
n,k=list(map(int,input().split()))
a=list(map(int,input().split()))
x=0
for i in range(n):
if a[i]+k
в обходе по значению тоже можно менять список: for i in a: a[a.index(i)] +=5
спасибо,очень помогло
11 задача
___________
n=list(map(int,input().split()))
x=[]
for i in range(len(n)):
if i%2!=1:
for l in range(n[i]):
x.append(n[i+1])
print(x)
13 задача
____________
n,h=map(int,input().split())
a=list(map(int,input().split()))
x=0
for i in range(n):
if a[i]>h:
x+=2
else:
x+=1
print(x)
Подскажите пожалуйста момент на 6.33. Почему когда выводим первым принтом (i, a[i]) и после к каждому значению списка "а" прибавляем 5, при финальном выводе плюсуется пятерка только к горизонтальному выражению? Цикл же повторяется 6 раз для print( i, a[ i ] ) и после значение списка увеличивается на 5, после опять выводится... т.е. должно быть 43,70,8,48,8,59,81
Спасибо
спасибо за видео
Следующий раунд:
n,k = map(int,input().split())
a = list(map(int, input().split()))
count=0
for i in range(len(a)):
if a[i]>=a[k-1] and a[i]>0:
count+=1
print(count)
Евгений, а для чего необходимо a[k - 1]? Почему не a[k]?
@@АнтонМеренков-р6я так Вы попробовали бы и сами бы поняли :)
Т.к. в питоне нумерация индексов начинается с нуля, нужно проверять k-1, т.е. не с единицы, а с нуля. Например с входными данными:
5 5
6 4 3 2 1
будет проверяться условие a[i]>=a[5] and a[i]>0, при этом возникнет ошибка - выход за предел списка, т.к. в списке [a] нет значения с индексом 5. a[0]==6, a[1]==4, a[2]==3, a[3]==2, a[4]==1, a[5] не существует.
Не знаю как объяснить понятнее.
@@COMBINATORS спасибо! Все предельно ясно. Оплошность с моей стороны, конечно:)
Задача проверку не проходит
@@АндрейДанилов-ю5э проходит
Добрый день. Смотрю Ваши уроки, у меня такой вопрос, можно ли запихнуть в цикл for 2 списка
списки с датами и временем, то есть список start и end, после чего проверить их на пересечение между собой ?
Полицейские-рекруты
c=int(input())
a=list(map(int,input().split()))
q=0
b=[]
for i in a:
q=q+i
if q
Police:
__________________
a=int(input())
b=list(map(int,input().split()))
pol=0
x=0
for i in range(a):
if b[i]>0:
pol+=b[i]
else:
if pol
12 / Швидкий математик
__________________________
n=input()
m=input()
for i in range(len(n)):
if int(n[i])!=int(m[i]):
print(1,end='')
else:
print(0,end='')
Пожалуйста добавляйте под видео сразу код, а то сохраняю Ваши примеры в отдельный файл потом скриншотами, Спасибо!
9.15
a = [45,35,324,2,10,45,35,67]
chet = []
nechet = []
for i in a:
if i%2 == 0:
chet.append(i)
else:
nechet.append(i)
print(chet)
print(nechet)
А разве так нельзя?
непонятно почему при проверке в строке на маленькую/большую букву не говорится что таким образом можно пробежаться по алфавиту ('a'
На гитхабе нашел такое решение задачи 155А, чтобы проверить со своим
n = int(input())
p = list(map(int, input().split()))
print(sum(1 for i in range(1, n) if max(p[:i]) < p[i] or min(p[:i]) > p[i]))
Я пытался найти информацию, но видимо я очень плохо ищу. У меня есть вопросик. Если вместо 1 перед for поставить 2, то конечный результат удвоится, а если 3 то утроится. Это же должна быть сумма, но почему получается умножение? Иии я удивился, что такая запись возвращает не элемент списка, но я думаю, это сам когда-нибудь пойму)))
Подскажите плиз, как суммировать соседние элементы списка, и вывести их в отдельный список?
Стало интересно решить эту задачку,скорее всего она уже вам не нужна,но всё же я выложу здесь своё решение))
a = [1,2,3,4,5,6,7,8,9]
n = len(a)
spisok = []
for i in range(n-1):
spisok.append (a[i]+a[i+1])
print(spisok)
Здравствуйте,подскажите почему вы называете переменную i - иты? Ведь в английском языке это буква (ай)
Где найти больше практики?уроков?
👏👍
Задача Башни
N=int(input())
l=list(map(int,input().split()))
d=[]
h=1
count=0
for i in range(len(l)):
if l[i] not in d:
count+=1
else:
h+=1
d.append(l[i])
print(h,count, sep=' ')
ошибка на 6-ом тесте. Вижу, где она. нужна дополнительная проверка количества одинаковых чисел в списке d после else:
Но что-то не понимаю, как реализовать. Опять через for in?
👍
редактирую текст в pycharm и команда count выдает ошибку
Задача 2: Полицейские-рекруты
f = int(input())
crime=0
cops=0
s=list(map(int,input().split()))
if s[0]0:
cops = cops + s[i + 1]
else:
if cops+s[i + 1]>0:
cops = cops + s[i + 1]
else:
crime = crime + (cops + s[i + 1])
cops = 0
print(crime*-1)
Задача 3: I_love_%username%
n = int(input())
x = list(map(int,input().split()))
Wonderful=[]
if x[1]!=x[0]:
Wonderful.append(x[0])
Wonderful.append(x[1])
for i in range(n-2):
if x[i+2]>max(Wonderful) or x[i+2]
Праздник Равенства ☭
Решил как-то так)
a=int(input("Введите количество жителей:"))
c=[]
s=0
for i in range(a):
b=int(input("Введите благосостояние жителей:"))
c.append(b)
m=max(c)
for i in c:
s=s+m-i
print(s)
Всё классно, но "Y" - тоже гласная
почти
@@balamski7954 почти беременная - это 'да' или 'нет'?
@@osvab000 есть слово yesterday, и есть слово gym.
@@osvab000 но справедливости ради, в задаче "Упражнение на строки" всё-таки указывается, что y - гласная.
А как комментироваться сразу много строк? У меня при выделении всех строки и их комментирования, они сразу же пропадают.
Подскажите как можно уменьшить этот код? на выходе должно выходить ['one', 'two', 1, 2, 3]
l=[]
a=('one','two',[1,2,3])
l.append(a[0])
l.append(a[1])
for i in a[2]:
l.append(i)
print(l)
l=[]
a=('one','two',[1,2,3])
for i in a:
if type(i)==list:
l.extend(i)
else:
l.append(i)
print(l)
Спасибо вам большое за уроки. Одно только иногда не понятно, где они применяются???
везде)
Артем как сделать проверку значений на четность из списка 5000 -10000 значений следующим образом.
А=[1,5,8,4,4,2,9,7,1,0,3,8,9,1,6,9,0,0,6,9,8,2,0,1,1,9,9,8,4,2,1,6,8,9,7,2,1,3…..]
обход начинается с 10 индекса … 1 2 3 4 5 6 7 8 9 10 l 11 12 13 14 15 16 17 18 19 20
а10 ( 3 ) сравниваем с а11 ( 8) - не совпало по четности
а9 ( т.е. а10-1) сравниваем с а12 - не совпало по четности
а12 сравниваем с а13 не совпало по четности
а7 (т.е. а10-3) сравниваем с а14 не совпало по четности
а14 сравниваем с а15 не совпало по четности
а5 (т.е.а10-5) сравниваем с а16 не совпало по четности
а16 сравниваем с а17 не совпало по четности
а3 т.е. (10-7) сравниваем с а18
условно прошло совпадение , цикл пошел заново c
а18 сравниваем с а19 не совпало по четности
а17 ( 18- 1 ) сравниваем с а20 ,,,,,, пока не совпадет, и после выводит индекс первого числа на интервале которого произошло более 5 не совпадений только те совпадения
я ничего не понял из этого большого текста
Здравствуйте, может кто подскажет где я допускаю ошибку, уже 2й день прыгаю по форумам не могу ничего подобного найти. Создаю список с поочередным вводом значений, а на выходе при попытке перемножить вместо искомого получается дублирование чисел... q=input()
w=input()
e=input()
a=[q, w, e]
a.sort()
print(a)
for x in a:
x=x*7
print(x)
9:40 результат не правильный в первом списке 5 это не четное число, также как и во втором списке присутствует 8 а она четная. Также у себя в пайчарме проверил, также выдает некорректный ответ. В команде chet.append(i) ошибка, надо chet.append(a[i]) также и necht.append(a[i])
А зачем создавай еще одну переменную, если len(a) можно записать в range??
я посчитал, что в примере, где рассматривается обращение к соседним элементам, использование побочной переменной более наглядно. А так, конечно и без нее можно обойтись
Задача 16.
Неправильный ответ на тесте 9.
Всю голову сломал, нет идей что у меня не так:
n = int(input())
z = 1
b = []
result = []
for i in range(n):
h, m = map(str,input().split())
b.append((h+m))
z = b.count((h+m))
result.append(z)
print(max(result))
после результатов был подсказ, что типа если два клиента приходит одновременно, у них обоих должна быть свободная касса. 2 клиента - 2 свободные кассы. совпадение часов и минут, все дела. для этого у h и m должны быть свои отдельные списки
Здравствуйте, возможно ли при a = list(map(int, input().split())) команде (ввожу какое-то число n(1122),) реализовать [1,1,2,2]-разбить число в списке по разрядам. Это реально?
вводишь строку, и тут 2 варианта
1) превращаешь ее в список и потом при помощи map каждый элемент списка в число
2) генератором списка проходишься по элементам строки и превращаешь в число
@@egoroffchannel , благодарю
Что не так в коде?
Задача I_love_%username%
n = int(input('enter h mc matches in general: '))
for i in range(n+1):
b = int(input('scores: '))
n = [b]
if n[i] and n[i+1]:
e = max(n[i], n[i+1])
print(e)
1.зачем вводить баллы в цикле, когда требуется, чтобы пользователь вводил все числа через пробел? нужно взять и перед циклом в новую переменную засунуть все баллы (дать это сделать пользователю. через пробел), и потом сделать из него список ("переменная"=list("переменная")).
2.с range тоже беда. счёт ведётся с нуля. выйдет за рамки диапазона это ваше for. вместо n+1 нужно записать туда n. или начать с 1.
3. что мы ищем? количество "удивительных" результатов, т.е. результатов, выходящих за рамки диапазона. нужна переменная-счётчик. ещё для удобства нужно перед циклом добавить две переменные, одна из которых будет максимальным числом, другая - минимальным, и обнулить их
4. в цикле, если i не равно нулю (в задаче говорится, что первый результат - а для программистов это нулевой - не "удивительный"), если число в списке больше максимума, приравниваем число к максимуму + используем переменную счётчик (типа "переменная"="переменная"+1). если меньше минимума, то приравниваем к минимуму + опять к счётчику +1.
5. в конце после цикла вводим пользователю число в счётчике - количество "удивительных" результатов.
как-то так))
цифра 8 счетный ж?
Здравствуйте! Вроде бы понятно, но не до конца.. Например, есть список [0, 1, 2, 3, 4, 5, 6], в котором нужно переставить элементы местами так, чтобы менялись местами элементы с индексами 0 и 1, 2 и 3 и т.д. Если кол-во элементов в списке нечетное, то последний элемент должен остаться на своем месте.
Пишу:
a = [0, 1, 2, 3, 4, 5, 6]
i = 0
for i in range(len(a) // 2):
a[i], a[i + 1] = a[i + 1], a[i]
i += 2
print(a)
Получаю результат: [1, 2, 3, 0, 4, 5, 6], а должен быть [1, 0 , 3, 2, 5, 4, 6]. Не могу никак понять, что делаю не так.. Гуру питона, подскажите, пожалуйста, новичку
Подсказка: строчка i+=2 здесь ничего не значит
@@egoroffchannel, можете подсказать, пожалуйста, как тогда правильно задать шаг индекса в данном случае, чтобы работало, как ожидается? Понимаю, что задача элементарная, но уже не первый день ищу информацию, которая поможет разобраться. В ваших видео все доступно изложено, но конкретно с этой задачей возникает проблема..
@@olyaivanova833 видео про range у меня посмотрите
@@egoroffchannel кажется, разобралась наконец) спасибо) сделала так:
a = [0,1,2,3,4]
n = len(a) - 1
for i in range(0, n, 2):
a[i], a[i + 1] = a[i + 1], a[i]
print(a)
Результат получаю ожидаемый
Коллеги, вопрос по задаче 14 (башни). Не отрабатывает сценарий, если ввести тупо 0, если введу 2 нуля, то все ок.
Ссылка: github.com/FreeToKyle/PythonSyntax/blob/main/CodeForce
print("Error") эта строчка вообще не нужна
а так, вам надо найти какое максимальное количество подряд идет одинаковых чисел - это самая высокая башня, и сколько всего разных чисел - это количество башен
подскажите пожалуйста, как вводить динамическое количество значений.
Например
x = int(input()) - икс может быть любым значением. от икса зависит сколько значений я должен ввести дальше.
я знаю только одну такую команду
a, b, c = map(int, input().split()) - но количество вводных (a,b,c) статично.
я говорю об этой задаче. codeforces.com/problemset/problem/200/B
P.s. сорян если задаю совсем тупой вопрос. может быть хотя бы объясните ( можно с матами ) как воспринимать и описывать эти вводные в коде.
a = list(map(int, input().split()))
все, что ты ведешь, сохраниться списком в в переменную a
@@egoroffchannel Как всегда все элементарно xD Спасибо.
На 9:20 ошибка! В списки chet и nechet добавляются значения переменной i а не элементы списка a. Поэтому у тебя и чётные и нечётные есть и там и там))
Исправил:
a = [ 1,2,3,4,32,4,5,3,5 ]
chet = [ ]
nechet = [ ]
for i in range ( len ( a )):
if a [ i ] % 2 == 0:
chet.append( a [ i ] )
else:
nechet.append( a [ i ] )
print ( chet )
print ( nechet )
а ничего что я индексы элементов добавляю?)
@@egoroffchannel , блин всё перепутал... я думал мы элементы списка делим на чётные и нечётные и складываем в переменные chet и nechet, а оказалось что индексы складываем. Пардон)) Я перезанимался, надо перерыв сделать))
Кто подскажет? А как можно вводить список СЛОВ с клавиатуры?
words = input('Введите слова, разделяя их пробелом: ')
print(words.split(' ')) # заменяя символ в одинарных кавычках, можно менять разделитесь ввода
11:14
Тренировки Егора. У меня лютейшая дичь получилась, может кто сделал на много проще?
n= int(input())
a = list(map(int, input().split()))
count=1
chest,biceps,back=0,0,0
for i in range(len(a)):
if count==1:
chest+=a[i]
count+=1
elif count==2:
biceps+=a[i]
count += 1
elif count==3:
back+=a[i]
count =1
if chest > biceps > back:
print('chest')
if biceps > chest > back:
print('biceps')
if back > chest > biceps:
print('back')
Я не знаю, как короче. Есть вопрос, зачем писать chest+=a[i] если можно написать chest+=i или я что-то не понимаю...
ведь a[i] это будет индекс числа, а не число
@@NikolaiKim a[i] будет числом в данном случае, а просто i - индекс. А так как нам не индексы складывать нужно, а общее число повторений для каждой группы мышц, то и берем a[i], то есть значение из списка по индексу [i].
@@COMBINATORS спасибо
Твой ответ правильный только до 3 ввода.
Вот правильный:
n=int(input())
a=list(map(int,input().split()))
count=1
c=[] #chest
f=[] #biceps
h=[] #back
for i in range(len(a)):
if i%3==0:
c.append(a[i])
elif i%3==1:
f.append(a[i])
elif i%3==2:
h.append(a[i])
if sum(h)sum(f):
print('chest')
elif sum(h)sum(c):
print('biceps')
else:
print('back')
Как закомментировать несколько строк ?
ctrl + /
я вот так написал и не надо прибавлять еденицу
a=[1,1,2,2,3,4,4,68,99,33,11]
chet = []
nechet = []
for i in a:
if i % 2 == 0:
chet.append(i)
else:
nechet.append(i)
print(chet)
print(nechet)
Удалить каждый третий символ:
s = input()
s1 = ''
for i in range(len(s)):
if i%3 != 0:
s1 += s[i]
print(s1)
Полицейские-рекруты:
n = int(input())
s = map(int, input().split())
p, count = 0, 0
for i in s:
p += i
if p < 0:
count += 1
p = 0
print(count)
I_love_%username%:
n = int(input())
b = map(int, input().split())
count = 0
bmin, bmax = 10001, -1
for i in b:
if i > bmax:
bmax = i
count += 1
if i < bmin:
bmin = i
count += 1
print(count - 2)
I_love_%username%:
n = int(input())
b = list(map(int, input().split()))
count = 0
bmin, bmax = b[0], b[0]
for i in b:
if i > bmax:
bmax = i
count += 1
if i < bmin:
bmin = i
count += 1
print(count)
Следующий раунд:
n, k = map(int, input().split())
a = list(map(int, input().split()))
count = 0
for i in a:
if i >= a[k - 1] and i > 0:
count += 1
print(count)
Праздник равенства:
n = int(input())
a = list(map(int, input().split()))
max, sum = 0, 0
for i in a:
if i > max:
max = i
sum += i
print(max * len(a) - sum)
Привет Автору и всем. Задачу никак не могу решить, помогите пожалуйста. Пробую написать калькулятор. На этапе ввода оператора (когда юзер ввел число, следом вводит оператор), необходимо понять ввели он оператор например + или - и если условие верно длаее запросить второй ввод числа, если ввел текст, или число (все кроме указанных операторов) просить ввести снова. Сломал голову. Код прилагаю.
print('Я калькулятор, помогаю тебе считать')
print('Введи число ')
while True:
try: digit = float(input())
except ValueError:
print('Введи число , а не что то ')
else:
break
operator = input('Теперь введи оператор
\t\t\t+ сложить,'
'
\t\t\t- вычесть,
\t\t\t* умножить,'
'
\t\t\t/ разделить,
\t\t\t** возвести в квадрат
')
while True:
for i in operator:
if i == '+' or '-':
break
else:
if operator=='+':
digit2 = float(input('Введи второе число '))
print('Результатом сложения твоих чисел',digit,'и',digit2,'является число',digit+digit2)
Где же что не так ?
я один обратил внимание, что в примере с четными и нечетными числами ошибка в выводе? ua-cam.com/video/iopPsTT7Pes/v-deo.html не вывелось 32 и получилась 5 в четных.
UPD: разобрался, это были номера. Все верно.
+
9:44 ошибка!
Во втором уроке, (вывод Empty) если список пустой. Можно использовать обработчик ошибок. Возможно можно было сразу сказать об этом в видео. Вот код:
a = input().split() # вводим строку и разбиваем по пробелам
n = len(a) # длинна строки
b = [] # пустой список
for i in range (n): # в цикле по длине строки проверяем что число > 0 и добавляем его в новый список
if int(a[i])>0:
b.append(int(a[i]))
try:
print (min(b)) # выводим минимальное значение из списка
except ValueError:
print('Empty') # если у нас ошибка (список пустой), перехватываем ее и выводим Empty
как повторить итерацию цикла если в цикле for возникла ошибка?
Не совсем понял вопроса. Но попробуй посмотреть на конструкцию try
@@egoroffchannel Благодарю за внимание к моей проблеме.
for a in b:
____возврат: (*такой опрерации нет в питоне)____
try:
если нет ошибки то выполняется этот кусок кода
except:
если возникла ошибка GOTO ____возврат: (*такой опрерации нет в питоне)____
топ
Пытаюсь решить задачу, где как раз надо сравнивать пары i и i+1 элемент. Написала цикл for i in range(len(row)-1).
Например, len(row) = 7, то range(len(row)-1) = 6, то моя прога стопает цикл на i = 5, пропуская захват i+1 (тут 6го) элемента...и из-за этого не выводит последний нужный элемент. По цифрам это логично, но на видео последнюю пару захватил цикл нормально. Как это исправить я не понимаю :( подскажите плз
на код надо взглянуть, на pastebin.com/ размести и ссылку скинь
@@egoroffchannel pastebin.com/VvFyjuBh
Для того, чтоб на входе строку а ля a4Q10e2 вывести в aaaaQQQQQQQQQQee. Была ещё мысль вытащить какие-то действия присваивания из-под if-оу, но чёт пока не соображу (
@@Gergel_ посмотри после цикла что у тебя в к лежит)
@@egoroffchannel пустая строчка..э...вроде как
pastebin.com/b10BzpG6