
Нужно решить задачу на питоне: Условия: Напишите программу, в которой пользователь вводит целое
число, а программа определяет, сколько в этом числе цифр 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:

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

#Основной нулевой способ (без применения обхода строки в цикле, то есть обход идет строго по числу типа 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()



Ответ:
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]}")



Для решения задачи, в которой пользователь вводит целое число, а программа определяет, сколько в этом числе цифр 0, 1, 2 и так далее, вы можете использовать следующий код на Python:
```python n = int(input("Введите целое число: ")) digits = [0] * 10
while n != 0: digit = n % 10 digits[digit] += 1 n //= 10
for i in range(10): print(f"Количество цифр {i}: {digits[i]}") ```
Объяснение:
1. Сначала мы просим пользователя ввести целое число с помощью функции `input()`, а затем преобразуем его в целое число с помощью `int()`. Мы сохраняем это число в переменной `n`.
2. Затем мы создаем список `digits`, который будет использоваться для подсчета количества каждой цифры. Мы заполняем его нулями для каждой цифры от 0 до 9.
3. Затем мы используем цикл `while` для перебора каждой цифры в числе. Мы берем остаток от деления числа на 10 с помощью оператора `%` и сохраняем его в переменной `digit`. Затем мы увеличиваем счетчик для соответствующей цифры в списке `digits` и делим число на 10 с помощью оператора `//` для перехода к следующей цифре. Мы продолжаем этот процесс до тех пор, пока число не станет равным 0.
4. Наконец, мы используем цикл `for` для вывода количества каждой цифры в списке `digits`. Мы используем функцию `range(10)`, чтобы перебрать каждую цифру от 0 до 9, и выводим количество каждой цифры с помощью функции `print()`.
Таким образом, программа определит, сколько введенного числа содержит цифр 0, 1, 2 и так далее.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili