Ну начнем с того, что твоя функция ничего не возвращает, она выводит на экран информацию. Второй косяк в том, что функция isdigit() проверяет всю строку, то есть, при строке с одними цифрами твоя программа даст верный ответ.
Исправить максимально просто, нам нужно проверить каждый символ строки, если встречаем хоть 1 цифру, то возвращаем true, а если не встретим в строке цифр - false.
Максимально простой вариант для новичка, скорее всего, такой:
Число X даёт остаток 1 при делении на 3, остаток 0 при делении на 2 и остаток 4 при делении на 5, значит, исходное число можно представить как X = 3a + 1 = 2b = 5c + 4 (числа a, b, c — натуральные или 0).
Рассмотрим равенство 2b = 5c + 4. Число 5c + 4 — чётное, значит, c также чётное (в противном случае мы получим произведение нечётных чисел, т. е. число нечётное, плюс чётное число — результат нечётный).
Рассмотрим равенство 5c + 4 = 3a + 1 ⇔ 5c = 3a - 3 = 3(a - 1) ⇒ число c делится на 3, но также c делится на 2 по равенству, значит, c делится на 6.
Сделаем последовательный перебор чисел c:
Если c = 0, то 5c + 4 = 4 < 10 — число не двузначное.Если c = 6, то 5c + 4 = 34. Действительно, 34 = 3·11 + 1 = 2·17 = 5·6 + 4
Ну начнем с того, что твоя функция ничего не возвращает, она выводит на экран информацию. Второй косяк в том, что функция isdigit() проверяет всю строку, то есть, при строке с одними цифрами твоя программа даст верный ответ.
Исправить максимально просто, нам нужно проверить каждый символ строки, если встречаем хоть 1 цифру, то возвращаем true, а если не встретим в строке цифр - false.
Максимально простой вариант для новичка, скорее всего, такой:
def number(x):
for i in x:
if i.isdigit():
return True
return False
print(number('xx'))
34
Объяснение:
Число X даёт остаток 1 при делении на 3, остаток 0 при делении на 2 и остаток 4 при делении на 5, значит, исходное число можно представить как X = 3a + 1 = 2b = 5c + 4 (числа a, b, c — натуральные или 0).
Рассмотрим равенство 2b = 5c + 4. Число 5c + 4 — чётное, значит, c также чётное (в противном случае мы получим произведение нечётных чисел, т. е. число нечётное, плюс чётное число — результат нечётный).
Рассмотрим равенство 5c + 4 = 3a + 1 ⇔ 5c = 3a - 3 = 3(a - 1) ⇒ число c делится на 3, но также c делится на 2 по равенству, значит, c делится на 6.
Сделаем последовательный перебор чисел c:
Если c = 0, то 5c + 4 = 4 < 10 — число не двузначное.Если c = 6, то 5c + 4 = 34. Действительно, 34 = 3·11 + 1 = 2·17 = 5·6 + 4Значит, 34 — наименьшее искомое двузначное число.