Нужно решить задачу на питоне: Условия: Напишите программу, в которой пользователь вводит целое число, а программа определяет, сколько в этом числе цифр 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, который проверяет состоит ли строка из цифр.
#Нужно заметить, что у нулевого есть недостаток, ибо при неверном наборе числа программу придется запускать снова вручную. Далее пойдут другие , применять их или нет дело ваше, но все таки пусть полежат.
# Первый (без применения обхода строки в цикле)
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():
Ищем в именах файлов закономерности, чтобы выделить пять из них. 1. Есть ровно пять файлов, начинающихся символом "p". В расширении имени (после точки) они имеют от одного до трех символов. Регулярное выражение будет иметь вид p[a-z]*.[a-z]* 2. Есть ровно пять файлов, имена которых завершаются символом "r". В расширении имени (после точки) они имеют от двух до трех символов. Регулярное выражение будет иметь вид [a-z]*r.[a-z]*
Ищем среди ответов похожий. p+[a-z]*.[a-z]* - в принципе, то же, знак + тут необязателен, но и не мешает. [a-z]*r+.[a-z]{3} - все портит это {3}, требующее ровно 3 повторения, а у нас от 2 до 3.
У меня 7 числа день рождения - информация понятная, актуальная если 7 число не наступило, и неактуально если полезная если я это говорю своему другу, и бесполезна если говорю мимо идущему прохожему которого вижу впервые, достоверная если я сказал правду, и недостоверная если солгал, полная если этого достаточно чтобы понять когда я родился(говорили про текущий месяц), и неполная если я просто так заикнулся не уточнив месяц, понятная если сказал на русском рускоязычному человек, непонятная если я сказал по русски тому кто русский не понимает(иностранцу к примеру). если смысл понятен то можно придумать много таких вариантов даже из одного примера, в принципе можно и на каждый случай отдельные приводить
#Основной нулевой (без применения обхода строки в цикле, то есть обход идет строго по числу типа 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()