Есть ответ 👍

Нужно решить задачу на питоне: Условия:
Напишите программу, в которой пользователь вводит целое число, а программа определяет, сколько в этом числе цифр 0,1,2 и так далее
Начала делать вот так, а потом застряла
n = int(input("Введите целое число"))
numbers = [1,2,3,4,5,6,7,8,9,0]
for s in numbers:
if n in numbers:

205
346
Посмотреть ответы 3

Ответы на вопрос:


#Основной нулевой (без применения обхода строки в цикле, то есть обход идет строго по числу типа int, функций, исключений, словарей). Применяется строковый метод isdigit, который проверяет состоит ли строка из цифр.

num = input('Введите целое число: ')

list_digits = [0] * 10

if num.isdigit():

    num = int(num)

    if num == 0:

       list_digits[0] = 1

       

    while num != 0:

        list_digits[num % 10] += 1  

        num //=10

   

    for digit in range(10):

       

        print(f'Цифра: {digit}, количество: {list_digits[digit]}')

           

else:

   print('Число должно быть типа int')

#Основной нулевой , но с применением обхода по строке (не факт, что так можно, но пусть будет)

str_num = input('Введите целое число: ')

list_digits = [0] * 10

if str_num.isdigit():

   for str_digit in str_num:

       list_digits[int(str_digit)] += 1  

       

   for digit in range(10):

       print(f'Цифра: {digit}, количество: {list_digits[digit]}')

               

else:

  print('Число должно быть типа int')

#Нужно заметить, что у нулевого есть недостаток, ибо при неверном наборе числа программу придется запускать снова вручную. Далее пойдут другие , применять их или нет дело ваше, но все таки пусть полежат.

# Первый (без применения обхода строки в цикле)

def main():

   

   try:

       num = int(input('Введите целое число: '))

       '''

       При вводе числа с клавиатуры число будет типа str по умолчанию, поэтому,

       если в строке будут символы помимо цифр от 0 до 9, то при воздействии на него функции

       int происходит ошибка ValueError, число типа 078 автоматически воспринимаются без

       нулей вначале

       '''

       dict_of_digits = {n:0 for n in range(10)}  

     

       if num == 0:

           dict_of_digits[0] = 1

       

       while num != 0:

           dict_of_digits[num % 10] += 1  

           num //=10

       

       for digit, quanity_digits in dict_of_digits.items():

           print(f'Цифра: {digit}, количество: {quanity_digits}')

           

   except ValueError:

       

       print('Число должно быть типа int, попробуйте снова!')

       main()

main()

# второй с применением обхода по строке

def main():

   

   try:

       num = int(input('Введите целое число: '))

       '''

       При вводе числа с клавиатуры число будет типа str по умолчанию, поэтому,

       если в строке будут символы помимо цифр от 0 до 9, то при воздействии на него функции

       int происходит ошибка ValueError, число типа 078 автоматически воспринимаются без

       нулей вначале

       '''

       str_num = str(num)

       

       dict_of_digits = {n:0 for n in range(10)}  

       

       for str_digit in str_num:

           dict_of_digits[int(str_digit)] += 1  

       

       for digit, quanity_digits in dict_of_digits.items():

           print(f'Цифра: {digit}, количество: {quanity_digits}')

           

   except ValueError:

       

       print('Число должно быть типа int, попробуйте снова!')

       main()

main()

Vlad2005Mr
4,6(22 оценок)

k = int(input("Введите целое число: "))

k = list(str(k))

h=[]

for i in k:

i=int(i)

h.append(i)

slovar={0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0}

for i in h:

slovar[i]+=1

for i in slovar:

print(f"{i} ---> {slovar[i]}")

braununs
4,7(74 оценок)

1-d 2-я не понимаю не хватает того что нужно расположить 

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS