Тёмный

19 Обход всех цифр числа с помощью while Python 

egoroff_channel
Подписаться 139 тыс.
Просмотров 71 тыс.
50% 1

🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
t.me/python_egoroff
Стать спонсором канала
/ @egoroffchannel
boosty.to/egoroff_channel
/ artem_egorov
egoroffartem.pythonanywhere.co...
Подробная информация об этом уроке
С помощью цикла while напишем программу, которая находит:
- количество цифр в числе;
- сумму всех цифр в числе;
- произведение всех цифр в числе;
- самую большую цифру в числе;
- самую маленькую цифру в числе.
Также научимся обходить цифры числа в различных системах счисления
Все видео этого курса можете найти на сайте
egoroffartem.pythonanywhere.co...
или в Вк
videos-177962775?secti...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_egoroff
python.study
В данном группе можете найти информацию о новых видео и задать вопросы

Опубликовано:

 

23 авг 2018

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 110   
@egoroffchannel
@egoroffchannel Месяц назад
🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
@vlasovviktor2937
@vlasovviktor2937 5 лет назад
Огромное спасибо за ваши видео, объясняете очень понятно и доходчиво.
@BelochkaStrelochka
@BelochkaStrelochka 4 года назад
Все супер объяснил!
@ne_psixyu
@ne_psixyu Год назад
Умение Артёма объяснять, как всегда, на топовом уровне! Есть один момент в условии произведения цифр числа. Если в числе, которое введет пользователь, будет хотя бы один 0, то произведение цифр будет также равно 0.
@romanvishnyakov6835
@romanvishnyakov6835 Год назад
Даже не подумал) 👍👍 В таком случае, if last > 1: pr = pr x last
@innapuzanska9857
@innapuzanska9857 4 года назад
Спасибо 😉
@solusrex3868
@solusrex3868 4 года назад
В последнем примере возможно будет удобнее обозначить основание системы счисления,например,за base перед началом цикла и в зависимости от нужной системы счисления получать результат.
@serhiilykhodid8911
@serhiilykhodid8911 5 лет назад
Спасибо! Все доходчиво объяснено.
@trimo1120
@trimo1120 Год назад
0:40 сразу же понял, что будет браться последняя цифра и удаляться, это всё благодаря твоим видеоуроком!
@dimitrilarios2667
@dimitrilarios2667 4 года назад
Перевод числа в двоичную систему счисления x = int(input( 'Введите число для перевода в двоичную систему: ')) y = 0 # после наполнения выведет число в двоичной системе i = 1 # вспомогательный множитель while x > 0: last = x % 2 y = y + last * i i *= 10 x = x // 2 print ( y )
@codezonev
@codezonev 2 года назад
Добрый день, спасибо за уроки, но по названию сразу хочется написать следующий код: text = 'He11o' i = 0 while i != len(text): if text[i].isalpha(): # Действие print(text[i]) i = i + 1
@Serhii_Tereshchuk
@Serhii_Tereshchuk 4 года назад
Долго думал над задачей про бактерии. Разложил варианты до 15-ти и заметил, что результат - это сумма единиц при переводе заданого числа в двоичную систему (именно поэтому, я так понял, в видео сделан на этом акцент). Тогда, соответственно, решил ....Но все равно не понимаю, почему так, почему тут нужно было использовать метод с двоичной системой, при чем он правильный и рабочий.
@kamzh9834
@kamzh9834 Год назад
крутые урок
@kreved52
@kreved52 5 лет назад
привет решил задачку вот так, но думаю длинновато получилось # A. Жизнь без нулей a = int(input()) b = int(input()) c = a + b degree = 0 # степени числа a_no_zero = 0 while a > 0: last = a % 10 if last != 0: last = last * 10**degree a_no_zero = a_no_zero + last degree += 1 a //= 10 degree = 0 b_no_zero = 0 while b > 0: last = b % 10 if last != 0: last = last * 10**degree b_no_zero = b_no_zero + last degree += 1 b //= 10 degree = 0 c_no_zero = 0 while c > 0: last = c % 10 if last != 0: last = last * 10**degree c_no_zero = c_no_zero + last degree += 1 c //= 10 if a_no_zero + b_no_zero == c_no_zero: print("YES") else: print("NO")
@vitaldzero
@vitaldzero 5 лет назад
Выращиваем бактерии x = 33 a = 0 # adding b = 0 while x/2 >= 1 : x_old = x if x%2 != 0 : # will minus 1 if non-even a = 1 else : a = 0 x = int((x - a) / 2) b += a print(x, "* 2 + ", a, "= ", x_old) b += x # add remainder b = int(b) print("added: ", b)
@jamjam3337
@jamjam3337 Год назад
👏
@user-gq4dn3bf4c
@user-gq4dn3bf4c 4 года назад
как по мне проще число преобразовать в строку, делать срезы, и выводить их как число
@marksoboruns6716
@marksoboruns6716 6 месяцев назад
Отличное объяснение! Есть вопрос: подсчет цифр в числе. Если вводимое заканчивается на 0 - то все ясно , как быть если вводимое число начинается с нуля?
@knowledgesponge8111
@knowledgesponge8111 4 года назад
Всё очень хорошо объясняет(просто в тетрадке нужно всё расписывать и досконально разбирать)У меня вопрос (время 3:29) kol = kol + 1(можно ли так записывать : kol +=1) это одно и тоже определение? А то я путаюсь с этим определением. Спасибо за ответы в комментах:)
@user-vq8fh3yj1w
@user-vq8fh3yj1w 3 года назад
Тоже стал записывать в тетрадь))
@dregster564
@dregster564 2 года назад
Привет, друг, как успехи после 2х лет?
@knowledgesponge8111
@knowledgesponge8111 2 года назад
@@dregster564 Привет, если честно , то я забил на пайтон. Из за непонимания что и для чего нужно делать.
@user-zs5jo9kd5l
@user-zs5jo9kd5l 2 года назад
@@knowledgesponge8111 а в програмирование остался? Или вообще ушел из стязи?
@knowledgesponge8111
@knowledgesponge8111 2 года назад
Сверстал пару простых сайта, Изучаю JavaScript всё с трудом даётся, всё сам без чьей либо помощи не зная английского языка, всё это сложно, уверенность хрен знает когда в этом направлении придёт.
@yuriybridch7508
@yuriybridch7508 4 года назад
А что если в числе ноль есть? Есть модуль в пайтоне, который сам считает?
@valkiolla5940
@valkiolla5940 4 года назад
print('''Числа выписываются снизу вверх например: 0 3 6 мы выписываем как 630. ''') x = int(input('Введите число в 10 системе: ')) y = int(input("Введите систему счисления в которую хотите перевести число: ")) while (x > 0): last = (x % y) #Находим число по заданной системе счисления print(last) x = (x//y) #удаляем последнюю цифру
@Rim3347
@Rim3347 4 года назад
Жизнь без нулей получилась мудреной)) но вроде работает x=int(input()) g=int(input()) n=x+g y=0 c="" v="" b="" while x>0: y=x%10 if y>0: c=str(y)+c x=x//10 while g>0: y=g%10 if y>0: v=str(y)+v g=g//10 while n>0: y=n%10 if y>0: b=str(y)+b n=n//10 if int(c)+int(v)==int(b): print('YES') else: print('NO')
@Anton16180
@Anton16180 Год назад
Я так понимаю, у Егора весь литкод решен на 100% :)
@balamski7954
@balamski7954 4 года назад
Жизнь без нулей (не знаю, как бы я ещё использовал while, с числами бы вышло посложнее) a=input() b=input() c=int(a)+int(b) c=str(c) while ('0' in a) or ('0' in b) or ('0' in c): a=a.replace('0','') b=b.replace('0','') c=c.replace('0','') a=int(a) b=int(b) c=int(c) if a+b==c: print('yes') else: print('no')
@vladmedvedev6273
@vladmedvedev6273 4 года назад
Решил задачу "Жизнь без нулей" с циклом while. x, y = map(int,input().split()) z = x + y i=1 j=1 k=1 newx=0 newy=0 newz=0 while x>0: if (x%10)!=0: newx=newx+(x%10)*i i=i*10 x=x//10 while y>0: if (y%10)!=0: newy=newy+(y%10)*j j=j*10 y=y//10 while z>0: if (z%10)!=0: newz=newz+(z%10)*k k=k*10 z=z//10 if newz == newx+newy: print('yes') else: print('no')
@zaurd351
@zaurd351 5 лет назад
Задача "жизнь без нулей" через обход всех цифр у меня была достаточно объемной: вывести все цифры числа А!=0, перевести их в str, сложить все в переменную, отзеркалить, перевести обратно в число. Затем для остальных переменных B,C. После чего ставить условия на равенство для решения задачи. Мне было гораздо проще решить без цикла While, для меня это был самый очевидный способ. a=input(); b=input() c=int(a)+int(b) if int(a.replace('0',''))+int(b.replace('0',''))==int(str(c).replace('0','')):print('YES') else:print('NO') Про выращивание бактерий: s=0 x=int(input()) i=1 while x>1: i=1 while 2*i
@HmaPaYT
@HmaPaYT 5 лет назад
Про выращивание бактерий у вас неправильно. У меня, конечно, вообще идей нет, но ваш вариант не работает, так как чтобы добиться 10 бактерий нужно положить 1 бактерию, а когда будет 4 положить еще 1, а у вас пишет, что нужно 3
@HmaPaYT
@HmaPaYT 5 лет назад
x=int(input('Вводите число, пожалуйста: ')) suma=0 while x>0: last=x%2 suma=suma+last x=x//2 print(suma)
@zaurd351
@zaurd351 5 лет назад
​@@HmaPaYT спасибо за инфу, я откорректировал решение, но Ваш вариант получился интереснее. Я его сразу не заметил и до такого решения не допер)
@bobbybob628
@bobbybob628 5 лет назад
не совсем понял твой код, можешь объяснить?
@zaurd351
@zaurd351 5 лет назад
@@bobbybob628 который именно?
@freshmeatUA
@freshmeatUA 5 лет назад
Добрый день. А можете оставлять ссылки на задачи в комментариях под видео на youtube, а то на сайте "практика" не грузится?
@egoroffchannel
@egoroffchannel 5 лет назад
добрый день. Странно, что не грузится(( я постараюсь в ближайшее время добавить в описание под видео новые задачи
@helenadoyle8766
@helenadoyle8766 5 лет назад
@@egoroffchannel у меня та же самая проблема была, на сайте раздел "практика" не грузится в гугл хром. потом попробовала через другой браузер mozilla firefox - загрузилось.
@user-uk9pz9nh1t
@user-uk9pz9nh1t 3 года назад
weight = int(input("Укажите ваш вес: ")) if weight>=56: print("Ого! А ляхи трутся?") ask = int(input("Yes = 1, No = 0 ")) if ask==1: print("Жируха") else: print("Все равно жируха")
@ananasanimator6049
@ananasanimator6049 Год назад
Выращиваем бактерии: x=int(input('Нужно бактерий:')) allbacteries = 1 need = 1 while allbacteries != x: if allbacteries * 2
@its_star_life1
@its_star_life1 Год назад
Какой результат?
@hobby5062
@hobby5062 8 месяцев назад
Здравствуйте на счислении 2,почему 8,4,2 .
@crazzytime2628
@crazzytime2628 4 года назад
Я не понял, как переводится число в двоичную систему...?
@user-ly5bo6cv5k
@user-ly5bo6cv5k 5 лет назад
А посчитать отрицательные подскажите как?
@quentindrenton
@quentindrenton Год назад
Я буду тут каждый день. День 9.4
@Darie138
@Darie138 Год назад
подскажите, пожалуйста, при работе программистом нужно будет пользоваться всеми этими степенями? или это только для егэ ?
@euphoriaas
@euphoriaas Год назад
для программиста нужно всё
@serhiilykhodid8911
@serhiilykhodid8911 5 лет назад
Не работает ссылка на практические задания - можете помочь?
@Neiron666
@Neiron666 4 года назад
Можно было немного объяснить про системы исчисления (двоичные и т.д), с ходу ничего не понятно.
@egoroffchannel
@egoroffchannel 4 года назад
Разбор задач Жизнь без нулей ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ODk-pRJnQ4U.html Стать спонсором ru-vid.com/show-UCMcC_43zGHttf9bY-xJOTwAjoin Стать патроном www.patreon.com/artem_egorov
@alexey6754
@alexey6754 4 года назад
Жизнь без нулей, сделал через цикл, но такое ощущение что сильно усложнил, можно было проще сделать: a = int(input()) b = int(input()) a_bez_0 = a b_bez_0 = b s_bez_0 = a + b # summa bez 0 summa = a + b i = -1 i2 = -1 i3 = -1 lastA = 0 lastB = 0 lastS = 0 while a > 0: lastA = a % 10 # posl cifra if lastA == 0: a_bez_0 = int(str(a_bez_0)[:i] + str(a_bez_0)[i + 1:]) # virezaem 0 cherez stroku i = i - 1 a = a // 10 #chislo bez posl cifri while b > 0: lastB = b % 10 if lastB == 0: b_bez_0 = int(str(b_bez_0)[:i2] + str(b_bez_0)[i2 + 1:]) i2 = i2 - 1 b = b // 10 while summa > 0: lastS = summa % 10 if lastS == 0: s_bez_0 = int(str(s_bez_0)[:i3] + str(s_bez_0)[i3 + 1:]) i3 = i3 - 1 summa = summa // 10 if a_bez_0 + b_bez_0 == s_bez_0: print('YES') else: print('NO')
@dimmafer2615
@dimmafer2615 4 года назад
у меня вроде попроще, но строк не меньше))) a = int(input()) b = int(input()) c = a+b a_last = 0 b_last = 0 c_last = 0 a_bez_0 = "" b_bez_0 = "" c_bez_0 = "" while a>0: if a%10==0: while a%10==0: a = a//10 a_last = a%10 a_bez_0 = str(a_last) + a_bez_0 a = a//10 while b>0: if b%10==0: while b%10==0: b = b//10 b_last = b%10 b_bez_0 = str(b_last) + b_bez_0 b = b//10 while c>0: if c%10==0: while c%10==0: c = c//10 c_last = c%10 c_bez_0 = str(c_last) + c_bez_0 c = c//10 if int(a_bez_0)+int(b_bez_0)==int(c_bez_0): print("YES") else: print('NO')
@30014ks
@30014ks 2 месяца назад
Если в числе присутствует ноль на выходе произведение всегда будет ноль. т.к. все перемноженное умножается на ноль , и после нуля все умножается на ноль. Исправляется легко . Но будет ли такое произведение верным ? И тогда вычисление произведения нужно ставить после вычисления минимума , а то исправление плохо работает .
@Putu_pererenan
@Putu_pererenan 13 дней назад
Зачем, это уже не произведение ВСЕХ чисел будет
@LOGOSTT
@LOGOSTT Год назад
4:51 _"на 1 умножаешь и число не меняется"_ Вы не учли момент, когда в числе есть цифра 0 (ноль), то результат перемножения обнулится, - чего мы хотели избежать ;-))
@annatsoy263
@annatsoy263 10 месяцев назад
С первого урока и до этого урока все шло как по маслу, я все понимала, но вот в конце этого урока про "двоичные/пятеричные" системы я поплыла... Как-то внезапно и непонятно откуда и зачем тут эта тема.
@user-ys8wm1nk8k
@user-ys8wm1nk8k 4 года назад
Жизнь без нулей: a,b=map(int,input().split()) ab=a+b sumab=0 suma=0 sumb=0 while a>0: lasta=a%10 suma=lasta+suma a=a//10 while b>0: lastb=b%10 sumb=lastb+sumb b=b//10 while ab>0: lastab=ab%10 sumab=lastab+sumab ab=ab//10 if suma+sumb==sumab: print('YES') else: print('NO')
@dukemontana4680
@dukemontana4680 7 дней назад
LUST
@nikitiki524
@nikitiki524 3 года назад
Если я правильно понимаю, данный код не будет работать если в числе есть 0? Если это так, то зачем давать код который работает только для чисел без нулей?
@ArtyomRolei
@ArtyomRolei 2 года назад
Будет работать. Например, есть число 108. 8 отсекаем после первой итерации обхода , остаётся 10. Проверяем 10 больше нуля? Да. Проходим дальше. (вторым в данном случае уберется 0 , останется 1).
@IseeKherson
@IseeKherson 5 лет назад
Не могу понять как last=x%10 в числе, к пример 456 last=4 при s=0 и выходит s=s+last выдает сумму
@egoroffchannel
@egoroffchannel 5 лет назад
а видео про деление нацело и остаток от деления смотрел?
@user-iy6vk4pn1j
@user-iy6vk4pn1j 4 года назад
@@egoroffchannel а как число перевести в 16ричную??? там же еще буквы...
@user-hc1fq9sp2e
@user-hc1fq9sp2e Год назад
Объясните,пожалуйста, как это вообще работает?1:45 я просто не понял..
@user-ur2eu3dj3z
@user-ur2eu3dj3z 3 года назад
egoroffartem.pythonanywhere.com/course/python/19 поправьте ссылку на урок в описании!
@user-ur2eu3dj3z
@user-ur2eu3dj3z 3 года назад
Она ведет на урок elif
@egoroffchannel
@egoroffchannel 3 года назад
хорошо,спасибо
@valley527
@valley527 4 года назад
без обид, но урок очень запутанный получился, все вперемешку, до этого все было понятно, но спасибо
@upsilon8672
@upsilon8672 3 года назад
со второго просмотра все становится понятно
@winer1498
@winer1498 4 года назад
начиная с 8-ой минуты я понял , что ничего не понял.Объясните кто-нибудь пожалуйста чайнику ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-wZMhYfwpel0.html . Как автор перевёл число 14 в двоечную запись и откуда он брал степени двойки 8, 4, 2, 1 ?
@user-no8tb7rt5k
@user-no8tb7rt5k 4 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tHsOmVRjVE4.html
@bobby_ridge
@bobby_ridge Год назад
На каком именно экзамене? ЕГЭ или ОГЭ?
@greatsergius13
@greatsergius13 Год назад
Экзамен от Артёма на платформе "Stepik" по бесплатному курсу: Инди-курс программирования на Python.
@alex_pure
@alex_pure 2 года назад
Жизнь без нулей: a = int(input()) b = int(input()) c = a + b ra, rb, rc = 0, 0, 0 while a: if a%10 != 0: ra = 10 * ra + a%10 a //= 10 while b: if b%10 != 0: rb = 10 * rb + b%10 b //= 10 while c: if c%10 != 0: rc = 10 * rc + c%10 c //= 10 if int(str(rc)[::-1]) == int(str(ra)[::-1]) + int(str(rb)[::-1]): print('YES') else: print('NO')
@alex_pure
@alex_pure 2 года назад
Выращиваем бактерии: x = int(input()) count = 1 while x != 1: if x%2 == 0: x //= 2 else: x -= 1 count += 1 print(count)
@As-hv9fj
@As-hv9fj 3 года назад
14%2=0 1. 1 1, как вышло???
@aser4219
@aser4219 Год назад
Кто со степика?+
@likeater4202
@likeater4202 4 года назад
задания бы
@egoroffchannel
@egoroffchannel 4 года назад
egoroffartem.pythonanywhere.com/course/python/obkhod-vsekh-tsifr-chisla-s-pomoshchyu-while тут есть немного
@okmouk4042
@okmouk4042 5 лет назад
Решил задачу "Жизнь без нулей", но без применения цикла while! Как его применить? a=str(input()) b=str(input()) c=str(int(a)+int(b)) if int(a.replace('0',''))+int(b.replace('0',''))==int(c.replace('0','')): print('YES') else: print('NO')
@egoroffchannel
@egoroffchannel 5 лет назад
в видео рассказывается как при помощи while можно обойти все цифры числа. Этот алгоритм нужно немного переделать так, чтобы он при обходе числа убирал из него нули.
@user-fr3hy2ls9u
@user-fr3hy2ls9u 4 года назад
Я тут немного опробовал функции еще. Но если не обращать на них внимание, то всё, что написано после def del_null(x) и до return temp, занимается тем, что удаляет нули. В x передаются числа, где надо убрать нули a=int(input()) b=int(input()) last=0 def del_null(x): temp=0 i=1 while x>0: last=x%10 if last!=0: temp+=i*last i*=10 x=x//10 return temp if del_null(a+b)==del_null(a)+del_null(b): print('YES') else: print('NO')
@___selfh905
@___selfh905 10 месяцев назад
индусы
@PAIN153
@PAIN153 4 года назад
помогите решить задачу жизнь без нулей! пожалуйста!
@PAIN153
@PAIN153 4 года назад
именно без while!
@PAIN153
@PAIN153 4 года назад
с краев еще получается убрать 0 но вот что делать с нулем по середине! как вернуть потом все число без нуля теперь уже! когда его нашли
@Mr_Boriss
@Mr_Boriss 4 года назад
в этот раз нифига не понятно
@user-uk9pz9nh1t
@user-uk9pz9nh1t 3 года назад
Чему я научилась аахахах
@Igorr911
@Igorr911 4 года назад
Капец! Вообще перестал понимать!(((
@workstation8533
@workstation8533 3 года назад
Значит плохо материал проходил.
@Glavny_po_vsemu
@Glavny_po_vsemu 3 года назад
Нихрена не понял. Особенно последнее ...
@brianbrown650
@brianbrown650 5 лет назад
С жизнью без нулей через while тяжко, не до конца понятно.
@egoroffchannel
@egoroffchannel 5 лет назад
надо в каждом числе и в сумме этих чисел убрать нолики и потом сделать одну проверку
@brianbrown650
@brianbrown650 5 лет назад
@@egoroffchannel суть в делении по остатку и в провке?
@egoroffchannel
@egoroffchannel 5 лет назад
@@brianbrown650 суть в алгоритме, который в видео. Его надо изменить так,чтобы мы после обхода избавились от всех нулей в числе
@brianbrown650
@brianbrown650 5 лет назад
@@egoroffchannel Я пересмотрел ролик 5 раз, пробовал много раз, но я не понимаю как убрать нули.
@Helen-vh8up
@Helen-vh8up 4 года назад
@@egoroffchannel чёт заклинило, никак не соображу как нули поубирать.....
@user-pe1fu1zs4m
@user-pe1fu1zs4m 2 года назад
ужастное задание про бактерии, условие задачи составлено не корректно, как по мне
Далее
The last one surprised me! 👀 🎈
00:30
Просмотров 5 млн
Фэйворит жвачка А? (2024)
01:00
Просмотров 358 тыс.
The last one surprised me! 👀 🎈
00:30
Просмотров 5 млн