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

🔥🔥🔥 Инди-курс по 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
В данном группе можете найти информацию о новых видео и задать вопросы

Пікірлер: 110

  • @egoroffchannel
    @egoroffchannel2 ай бұрын

    🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса

  • @vlasovviktor2937
    @vlasovviktor29375 жыл бұрын

    Огромное спасибо за ваши видео, объясняете очень понятно и доходчиво.

  • @ne_psixyu
    @ne_psixyu Жыл бұрын

    Умение Артёма объяснять, как всегда, на топовом уровне! Есть один момент в условии произведения цифр числа. Если в числе, которое введет пользователь, будет хотя бы один 0, то произведение цифр будет также равно 0.

  • @romanvishnyakov6835

    @romanvishnyakov6835

    Жыл бұрын

    Даже не подумал) 👍👍 В таком случае, if last > 1: pr = pr x last

  • @BelochkaStrelochka
    @BelochkaStrelochka4 жыл бұрын

    Все супер объяснил!

  • @egoroffchannel
    @egoroffchannel4 жыл бұрын

    Разбор задач Жизнь без нулей kzread.info/dash/bejne/gXifj9KLetG3ZLg.html Стать спонсором kzread.info/dron/McC_43zGHttf9bY-xJOTwA.htmljoin Стать патроном www.patreon.com/artem_egorov

  • @innapuzanska9857
    @innapuzanska98574 жыл бұрын

    Спасибо 😉

  • @trimo1120
    @trimo1120 Жыл бұрын

    0:40 сразу же понял, что будет браться последняя цифра и удаляться, это всё благодаря твоим видеоуроком!

  • @dimitrilarios2667
    @dimitrilarios26674 жыл бұрын

    Перевод числа в двоичную систему счисления x = int(input( 'Введите число для перевода в двоичную систему: ')) y = 0 # после наполнения выведет число в двоичной системе i = 1 # вспомогательный множитель while x > 0: last = x % 2 y = y + last * i i *= 10 x = x // 2 print ( y )

  • @solusrex3868
    @solusrex38684 жыл бұрын

    В последнем примере возможно будет удобнее обозначить основание системы счисления,например,за base перед началом цикла и в зависимости от нужной системы счисления получать результат.

  • @serhiilykhodid8911
    @serhiilykhodid89115 жыл бұрын

    Спасибо! Все доходчиво объяснено.

  • @kamzh9834
    @kamzh9834 Жыл бұрын

    крутые урок

  • @kreved52
    @kreved525 жыл бұрын

    привет решил задачку вот так, но думаю длинновато получилось # 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")

  • @codezonev
    @codezonev2 жыл бұрын

    Добрый день, спасибо за уроки, но по названию сразу хочется написать следующий код: text = 'He11o' i = 0 while i != len(text): if text[i].isalpha(): # Действие print(text[i]) i = i + 1

  • @vitaldzero
    @vitaldzero5 жыл бұрын

    Выращиваем бактерии 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)

  • @Serhii_Tereshchuk
    @Serhii_Tereshchuk4 жыл бұрын

    Долго думал над задачей про бактерии. Разложил варианты до 15-ти и заметил, что результат - это сумма единиц при переводе заданого числа в двоичную систему (именно поэтому, я так понял, в видео сделан на этом акцент). Тогда, соответственно, решил ....Но все равно не понимаю, почему так, почему тут нужно было использовать метод с двоичной системой, при чем он правильный и рабочий.

  • @user-gq4dn3bf4c
    @user-gq4dn3bf4c4 жыл бұрын

    как по мне проще число преобразовать в строку, делать срезы, и выводить их как число

  • @knowledgesponge8111
    @knowledgesponge81114 жыл бұрын

    Всё очень хорошо объясняет(просто в тетрадке нужно всё расписывать и досконально разбирать)У меня вопрос (время 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 всё с трудом даётся, всё сам без чьей либо помощи не зная английского языка, всё это сложно, уверенность хрен знает когда в этом направлении придёт.

  • @vladmedvedev6273
    @vladmedvedev62734 жыл бұрын

    Решил задачу "Жизнь без нулей" с циклом 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')

  • @Rim3347
    @Rim33474 жыл бұрын

    Жизнь без нулей получилась мудреной)) но вроде работает 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')

  • @jamjam3337
    @jamjam3337 Жыл бұрын

    👏

  • @marksoboruns6716
    @marksoboruns67167 ай бұрын

    Отличное объяснение! Есть вопрос: подсчет цифр в числе. Если вводимое заканчивается на 0 - то все ясно , как быть если вводимое число начинается с нуля?

  • @yuriybridch7508
    @yuriybridch75084 жыл бұрын

    А что если в числе ноль есть? Есть модуль в пайтоне, который сам считает?

  • @valkiolla5940
    @valkiolla59404 жыл бұрын

    print('''Числа выписываются снизу вверх например: 0 3 6 мы выписываем как 630. ''') x = int(input('Введите число в 10 системе: ')) y = int(input("Введите систему счисления в которую хотите перевести число: ")) while (x > 0): last = (x % y) #Находим число по заданной системе счисления print(last) x = (x//y) #удаляем последнюю цифру

  • @balamski7954
    @balamski79544 жыл бұрын

    Жизнь без нулей (не знаю, как бы я ещё использовал 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')

  • @zaurd351
    @zaurd3515 жыл бұрын

    Задача "жизнь без нулей" через обход всех цифр у меня была достаточно объемной: вывести все цифры числа А!=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 который именно?

  • @Anton16180
    @Anton16180 Жыл бұрын

    Я так понимаю, у Егора весь литкод решен на 100% :)

  • @ananasanimator6049
    @ananasanimator6049 Жыл бұрын

    Выращиваем бактерии: x=int(input('Нужно бактерий:')) allbacteries = 1 need = 1 while allbacteries != x: if allbacteries * 2

  • @its_star_life1

    @its_star_life1

    Жыл бұрын

    Какой результат?

  • @freshmeatUA
    @freshmeatUA5 жыл бұрын

    Добрый день. А можете оставлять ссылки на задачи в комментариях под видео на youtube, а то на сайте "практика" не грузится?

  • @egoroffchannel

    @egoroffchannel

    5 жыл бұрын

    добрый день. Странно, что не грузится(( я постараюсь в ближайшее время добавить в описание под видео новые задачи

  • @helenadoyle8766

    @helenadoyle8766

    5 жыл бұрын

    @@egoroffchannel у меня та же самая проблема была, на сайте раздел "практика" не грузится в гугл хром. потом попробовала через другой браузер mozilla firefox - загрузилось.

  • @user-uk9pz9nh1t
    @user-uk9pz9nh1t4 жыл бұрын

    weight = int(input("Укажите ваш вес: ")) if weight>=56: print("Ого! А ляхи трутся?") ask = int(input("Yes = 1, No = 0 ")) if ask==1: print("Жируха") else: print("Все равно жируха")

  • @user-ly5bo6cv5k
    @user-ly5bo6cv5k5 жыл бұрын

    А посчитать отрицательные подскажите как?

  • @quentindrenton
    @quentindrenton Жыл бұрын

    Я буду тут каждый день. День 9.4

  • @crazzytime2628
    @crazzytime26284 жыл бұрын

    Я не понял, как переводится число в двоичную систему...?

  • @serhiilykhodid8911
    @serhiilykhodid89115 жыл бұрын

    Не работает ссылка на практические задания - можете помочь?

  • @Darie138
    @Darie138 Жыл бұрын

    подскажите, пожалуйста, при работе программистом нужно будет пользоваться всеми этими степенями? или это только для егэ ?

  • @euphoriaas

    @euphoriaas

    Жыл бұрын

    для программиста нужно всё

  • @hobby5062
    @hobby50629 ай бұрын

    Здравствуйте на счислении 2,почему 8,4,2 .

  • @user-ys8wm1nk8k
    @user-ys8wm1nk8k4 жыл бұрын

    Жизнь без нулей: 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')

  • @alexey6754
    @alexey67545 жыл бұрын

    Жизнь без нулей, сделал через цикл, но такое ощущение что сильно усложнил, можно было проще сделать: 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

    5 жыл бұрын

    у меня вроде попроще, но строк не меньше))) 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
    @30014ks3 ай бұрын

    Если в числе присутствует ноль на выходе произведение всегда будет ноль. т.к. все перемноженное умножается на ноль , и после нуля все умножается на ноль. Исправляется легко . Но будет ли такое произведение верным ? И тогда вычисление произведения нужно ставить после вычисления минимума , а то исправление плохо работает .

  • @Putu_pererenan

    @Putu_pererenan

    Ай бұрын

    Зачем, это уже не произведение ВСЕХ чисел будет

  • @Neiron666
    @Neiron6664 жыл бұрын

    Можно было немного объяснить про системы исчисления (двоичные и т.д), с ходу ничего не понятно.

  • @nikitiki524
    @nikitiki5243 жыл бұрын

    Если я правильно понимаю, данный код не будет работать если в числе есть 0? Если это так, то зачем давать код который работает только для чисел без нулей?

  • @ArtyomRolei

    @ArtyomRolei

    2 жыл бұрын

    Будет работать. Например, есть число 108. 8 отсекаем после первой итерации обхода , остаётся 10. Проверяем 10 больше нуля? Да. Проходим дальше. (вторым в данном случае уберется 0 , останется 1).

  • @IseeKherson
    @IseeKherson5 жыл бұрын

    Не могу понять как last=x%10 в числе, к пример 456 last=4 при s=0 и выходит s=s+last выдает сумму

  • @egoroffchannel

    @egoroffchannel

    5 жыл бұрын

    а видео про деление нацело и остаток от деления смотрел?

  • @user-iy6vk4pn1j

    @user-iy6vk4pn1j

    4 жыл бұрын

    @@egoroffchannel а как число перевести в 16ричную??? там же еще буквы...

  • @valley527
    @valley5274 жыл бұрын

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

  • @upsilon8672

    @upsilon8672

    4 жыл бұрын

    со второго просмотра все становится понятно

  • @user-ur2eu3dj3z
    @user-ur2eu3dj3z3 жыл бұрын

    egoroffartem.pythonanywhere.com/course/python/19 поправьте ссылку на урок в описании!

  • @user-ur2eu3dj3z

    @user-ur2eu3dj3z

    3 жыл бұрын

    Она ведет на урок elif

  • @egoroffchannel

    @egoroffchannel

    3 жыл бұрын

    хорошо,спасибо

  • @annatsoy263
    @annatsoy26311 ай бұрын

    С первого урока и до этого урока все шло как по маслу, я все понимала, но вот в конце этого урока про "двоичные/пятеричные" системы я поплыла... Как-то внезапно и непонятно откуда и зачем тут эта тема.

  • @winer1498
    @winer14985 жыл бұрын

    начиная с 8-ой минуты я понял , что ничего не понял.Объясните кто-нибудь пожалуйста чайнику kzread.info/dash/bejne/qY6Byrufp9PLnJM.html . Как автор перевёл число 14 в двоечную запись и откуда он брал степени двойки 8, 4, 2, 1 ?

  • @abu_umm_culsum

    @abu_umm_culsum

    5 жыл бұрын

    kzread.info/dash/bejne/pnynsc-Pgs28dZc.html

  • @dukemontana4680
    @dukemontana4680Ай бұрын

    LUST

  • @LOGOSTT
    @LOGOSTT Жыл бұрын

    4:51 _"на 1 умножаешь и число не меняется"_ Вы не учли момент, когда в числе есть цифра 0 (ноль), то результат перемножения обнулится, - чего мы хотели избежать ;-))

  • @As-hv9fj
    @As-hv9fj4 жыл бұрын

    14%2=0 1. 1 1, как вышло???

  • @alex_pure
    @alex_pure2 жыл бұрын

    Жизнь без нулей: 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)

  • @user-hc1fq9sp2e
    @user-hc1fq9sp2e Жыл бұрын

    Объясните,пожалуйста, как это вообще работает?1:45 я просто не понял..

  • @likeater4202
    @likeater42024 жыл бұрын

    задания бы

  • @egoroffchannel

    @egoroffchannel

    4 жыл бұрын

    egoroffartem.pythonanywhere.com/course/python/obkhod-vsekh-tsifr-chisla-s-pomoshchyu-while тут есть немного

  • @bobby_ridge
    @bobby_ridge Жыл бұрын

    На каком именно экзамене? ЕГЭ или ОГЭ?

  • @greatsergius13

    @greatsergius13

    Жыл бұрын

    Экзамен от Артёма на платформе "Stepik" по бесплатному курсу: Инди-курс программирования на Python.

  • @aser4219
    @aser4219 Жыл бұрын

    Кто со степика?+

  • @___selfh905
    @___selfh90511 ай бұрын

    индусы

  • @user-uk9pz9nh1t
    @user-uk9pz9nh1t4 жыл бұрын

    Чему я научилась аахахах

  • @okmouk4042
    @okmouk40425 жыл бұрын

    Решил задачу "Жизнь без нулей", но без применения цикла 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')

  • @PAIN153
    @PAIN1534 жыл бұрын

    помогите решить задачу жизнь без нулей! пожалуйста!

  • @PAIN153

    @PAIN153

    4 жыл бұрын

    именно без while!

  • @PAIN153

    @PAIN153

    4 жыл бұрын

    с краев еще получается убрать 0 но вот что делать с нулем по середине! как вернуть потом все число без нуля теперь уже! когда его нашли

  • @Igorr911
    @Igorr9114 жыл бұрын

    Капец! Вообще перестал понимать!(((

  • @workstation8533

    @workstation8533

    3 жыл бұрын

    Значит плохо материал проходил.

  • @Mr_Boriss
    @Mr_Boriss4 жыл бұрын

    в этот раз нифига не понятно

  • @brianbrown650
    @brianbrown6505 жыл бұрын

    С жизнью без нулей через while тяжко, не до конца понятно.

  • @egoroffchannel

    @egoroffchannel

    5 жыл бұрын

    надо в каждом числе и в сумме этих чисел убрать нолики и потом сделать одну проверку

  • @brianbrown650

    @brianbrown650

    5 жыл бұрын

    @@egoroffchannel суть в делении по остатку и в провке?

  • @egoroffchannel

    @egoroffchannel

    5 жыл бұрын

    @@brianbrown650 суть в алгоритме, который в видео. Его надо изменить так,чтобы мы после обхода избавились от всех нулей в числе

  • @brianbrown650

    @brianbrown650

    5 жыл бұрын

    @@egoroffchannel Я пересмотрел ролик 5 раз, пробовал много раз, но я не понимаю как убрать нули.

  • @Helen-vh8up

    @Helen-vh8up

    4 жыл бұрын

    @@egoroffchannel чёт заклинило, никак не соображу как нули поубирать.....

  • @Glavny_po_vsemu
    @Glavny_po_vsemu3 жыл бұрын

    Нихрена не понял. Особенно последнее ...

  • @user-pe1fu1zs4m
    @user-pe1fu1zs4m2 жыл бұрын

    ужастное задание про бактерии, условие задачи составлено не корректно, как по мне

Келесі