🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
бип бип бип бип бип бип бип бип, это переставляем сюда , это вот сюда дописываем(беру команду которую разбирали в третьем занятие вскользь за 5 сек. которую уже конечно никто из новичков не помнит) и всё прекрасно работает. А почему это так делаем, автор не объясняет. Просто потому что. Но это же материал не на запоминание, он на понимание, нужно разжёвывать, что и как а главное почему так, а не иначе делаешь. Объясняет автор основы не плохо, но вот практические решения для новичков просто выглядит как лютая дичь. Всё быстро, всё вскользь, без толкового разъяснения.
я честно говоря тоже на этом уроке зависла конкретно. вчера вечером 2 раза посмотрела начало ничего не поняла. на утро решила пересмотреть. тоже ничего не понимаю с 3 раза. про подсчет. ну как-то как бы... да...!
В уроке не объяснен принцип, по которому строится конструкция метода. Потратил 4 часа. Вдруг кому пригодится. # Функция метода смещения для чисел def number_count(lst): offset_number_count_lst = [0] * len(range(min(lst)-1, max(lst))) index_offset = abs(min(lst)) for i in lst: offset_number_count_lst[i+index_offset] += 1 result = [] for i in range(len(offset_number_count_lst)): if offset_number_count_lst[i] > 0: result.append((i-index_offset, offset_number_count_lst[i])) return result
он и так довольно подробно объяснил. Если тебе не понятно, то, скорее всего, тебе стоит сначала изучить вещи попроще. До этого есть ещё 26 уроков, я их не смотрел ес честно)))(только про установку pycharm), но, думаю, что за 27 уроков он объяснил чё такое индексы, циклы, что такое отладка и всё это безобразие. Так что, то, что тебе ниче не понятно, - это большей частью твоя проблема
@@alexandrshatilov8227 спасибо за совет, я их смотрел. Но так как это все таки уроки для начинающих, а ученики бывают разные, есть особо одаренные, есть тупые как я, то нужно более подробно обьяснять такие моменты, и не мешать все в одну кучу.
@@NikolaiKim уже нашёл других учителей, в частности Андрей Андреевский очень хорошо объясняет, весь интернет перелопатил не мог понять что такое классы и как их применять, после его ролика все стало понятно. Но спасибо и автору этого урока, он дал мне кое какие основы
Пример из урока вот так модифицировал, чтоб можно было в список любое положительное число добавить, а не только до пяти: a = [5, 1, 2, 3, 2, 1, 2, 3, 3, 2, 1, 3, 5, 3, 2, 33] n = max(a) + 1 # n - вместо 6 count = [0] * (n)
Дошел до 27 урока. Все понятно и разложено по полочкам. Так же стал впервые спонсором. Для написания кода использую Visual Studio Code. Так же для закрепления тем делаю задания, которые мне сбрасывает брат(учится на программиста). Так вот, что я скажу. За пару дней обучения, написал примитивную программу калькулятора. Автору данного канала надо идти в преподаватели. Хорошее преподнесение материала. Годный контент. + советую смотреть лекции Тимофея Хирьянова.
Уроки эти смотрю вроде все понятно, а как доходит до задания на степике, где процент решения 20-30%, то все валюсь, ничего не помню и не понимаю, аж плакать хочется. и эта тема в том числе.
Переключение гравитации: n = int(input()) a = list(map(int, input().split())) count = [0] * (max(a) + 1) for i in a: count[i] += 1 for i in range(len(count)): print((str(i) + ' ') * count[i], end='')
Щедрый Кефа: n, k = list(map(int, input().split())) s = list(input()) count = [0] * (ord(max(s)) - 96) for i in s: count[ord(i) - 97] += 1 for i in range(len(count)): if count[i] > k: print('NO') break else: print('YES')
Веселая шутка: n = list(input()) k = list(input()) nk = n + k s = list(input()) letters = [0] * 26 for i in nk: letters[ord(i) - 65] += 1 for i in s: letters[ord(i) - 65] -= 1 for i in range(len(letters)): if letters[i] != 0: print('NO') break else: print('YES')
Ребята, чтобы вы не пугались этого непростого способа подсчета (который все равно нужно знать), есть более гуманный способ: from collections import Counter s = [2, 1, 2, 3, 2, 1, 2, 3, 3, 2, 4, 3, 5, 4, 2] print(dict(Counter(s)))
Задача 1 . Гравітація ______________________________ n = int(input()) a = list(map(int, input().split())) s = [0] * 101 for i in a: s[i] += 1 for i in range(101): if s[i]>0: print((str(i)+' ')*s[i],end='')
Переключение гравитации: old = list(map(int, input().split())) new = [0] * (max(old) + 1) for i in old: new[i] += 1 for i in range(max(old)+1): if new[i] > 0: print((str(i) + ' ') * new[i], end='')
Потому что это в корне не верно. len(a) = 10 т.к. список в целом состоит из 10 рандомных значений. А count мы используем для подсчета ВСЕХ возможных значений, а их 21. Во-вторых, смещение в Вашем случае можно быть ошибочно в случае, если минимальное значение(а у нас РАНДОМНЫЕ значение, т.к. -10 будет в списке далеко не каждый раз) будет не равно -10.
Мне кажется что не опытным ребятам было - бы проще понять почему вы использовали смещение именно на 10, если бы вы сразу создали переменную со значением 10 и дальше использовали ее... Хотя, может я и не прав, но мне кажется что так проще проследить связи...
спасибо за комментарий. Главное, чтобы понимали саму суть смещения и почему без него не обойтись. А где его хранить, значением или в отдельной переменной, это уже дело реализации.
Спасибо за очередной хороший урок. Подскажи, какие настройки шрифта в PyCharm ты используешь? А то дефолтный мне не нравится, а чтобы, как у тебя не получилось сделать.
Вариант решения 2ой задачи, но не уверен что он правильный __________________________________________________________________ n=int(input()) k=int(input()) a=input() l=[0]*n x=0 for i in a: l[ord(i)-97]+=1 for i in range(n): if l[i]>0: if l[i]/k!=1: x+=1 if x>0: print('NO') else: print('YES')
У меня проблема с воспроизведением программы (ну то есть которую мы создаём с помощью кодов). Я видел, что у вас есть Run 'podshet', но у меня его нету (я знаю, что 'podschet'-это имя').Что делать в этой ситуации?
Веселая шутка еще одно решение, в ютубе есть видео , где объясняют довольно понятно import sys guest_name = list(sys.stdin.readline()[:-1]) host_name = list(sys.stdin.readline()[:-1]) pile = list(sys.stdin.readline()[:-1]) while len(pile) != 0: if guest_name.count(pile[0]) == 0 and host_name.count(pile[0]) == 0: print('NO') sys.exit() else: if guest_name.count(pile[0]) != 0: guest_name.remove(pile[0]) else: host_name.remove(pile[0]) pile.remove(pile[0]) if len(guest_name) !=0 or len(host_name) != 0 or len(pile) != 0: print('no') else: print('yes')
Мои решения задач урока: Переключение гравитации: n = int(input()) a = map(int, input().split()) a = list(a) b = [0] * (max(a) + 1) for i in a: b[i] = b[i] + 1 for i in range(max(a) + 1): if b[i] > 0: print((str(i) + ' ') * b[i], end='') Веселая шутка: a = input() b = input() mix = input() c = a + b x = '' z = '' letters = [0] * 26 letters2 = [0] * 26 for i in c: nomer = ord(i) - 65 letters[nomer] = letters[nomer] + 1 for i in range(26): if letters[i] > 0: x = x + (str(chr(i + 65)) * letters[i]) for i in mix: nomer2 = ord(i) - 65 letters2[nomer2] = letters2[nomer2] + 1 for i in range(26): if letters2[i] > 0: z = z + (str(chr(i + 65) * letters2[i])) if x == z: print('YES') else: print('NO')
Задача А переключение гравитации: n = int(input()) s = input().split() a = list(map(int, s)) b = [0] * n for i in range(n): for j in range(n - 1, i,-1): if a[i] > a[j]: a[i], a[j] = a[j], a[i] print(a)
Может кто-нибуть подскажет почему в Pycharm при вводе через команду: n,k=map(int,input().split()) выдает такую ошибку: ValueError: invalid literal for int() with base 10
Пишу для себя условия задач из урока и потом по условию решаю самостоятельно на следующий день для закрепления. Может кому будет полезно: 27 метод подсчета. Сортировка методом подсчета. Задача: подсчитать сколько раз встретилось каждое число в этом списке. вывести списком. затем, вывести цифру и сколько раз она встречалась затем, не выводить цифру которая не встречалась ни разу затем, отсортировать список по возрастанию a = [0, 1, 2, 2, 2, 1, 2, 3, 3, 2, 2, 3, 5, 3, 2] count = [0] * 6 for i in a: count[i] += 1 print(count) #вывести списком. for i in range(6): if count[i]>0: print(i, count[i]) #вывести цифру и сколько раз она встречалась a = [0, 1, 2, 2, 2, 1, 2, 3, 3, 2, 2, 3, 5, 3, 2] count = [0] * 6 for i in a: count[i] += 1 print(count) for i in range(6): if count[i]>0: print((str(i)+' ')* count[i],end='') задача. Есть строка, где написаны буквы, большие и маленькие, цифры и знаки пунктуации. Нужно посчитать сколько раз встретилась каждая буква. Разницы между большими и маленькими буквами нет. Знаки не считать. Условием задано букв 25. s = 'asdf sffaaafdf g FFsdfEE 234566 ^***&' letters = [0]* 26 for i in s.lower(): if 'a' 0: print(i - 10, count[i])
@@egoroffchannel я всегда после урока проверяю все что написано под видео в ютуб и по ссылке на сайт тоже захожу, опускаюсь вниз и пересматриваю задачи. Но там обычно задачи космос, у меня их мозг просто не воспринимает. Хочется хотя бы самому воспроизвести то что рассказывали.
Возможно глупый вопрос, но он мне не дает покоя. Почему в 3-ей строке "i" определяется как элемент списка "а", а не как индекс, ведь до этого мы никак не обозначали "i"? Заведомо заложено, что при подобном использовании цикла переменная будут означать элемент? Спасибо.