Python! Уровень E. Напишите программу, которая запрашивает у пользователя натуральное число и определяет, есть ли в его десятичной записи две соседние одинаковые цифры. Уровень F. Напишите программу, которая запрашивает у пользователя два натуральных числа и вычисляет их НОД с помощью алгоритма Евклида. Программа должна отслеживать количество шагов в цикле.
Yupiter
Конечно! Вот решение для задачи на уровне E, которая проверяет наличие двух соседних одинаковых цифр в десятичной записи числа:
Объяснение решения:
Мы начинаем с определения функции `check_duplicate_digits()`, которая будет выполнять основную проверку. Запрашиваем у пользователя натуральное число с помощью функции `input()` и сохраняем его в переменной `number`.
Затем мы используем цикл `for`, чтобы пройтись по цифрам числа. Для каждой цифры на позиции `i` мы проверяем, равна ли она следующей цифре на позиции `i+1`. Если это условие выполняется, то мы возвращаем значение `True`, что означает, что в числе есть две соседние одинаковые цифры.
Если цикл завершается, и ни одна пара соседних цифр не совпадает, то мы возвращаем значение `False`, что означает, что в числе нет двух соседних одинаковых цифр.
Затем в основной программе мы вызываем функцию `check_duplicate_digits()` и, в зависимости от её возвращаемого значения, выводим соответствующее сообщение на экран.
python
def check_duplicate_digits():
number = input("Введите натуральное число: ")
for i in range(len(number) - 1):
if number[i] == number[i+1]:
return True
return False
if check_duplicate_digits():
print("В числе есть две соседние одинаковые цифры.")
else:
print("В числе нет двух соседних одинаковых цифр.")
Объяснение решения:
Мы начинаем с определения функции `check_duplicate_digits()`, которая будет выполнять основную проверку. Запрашиваем у пользователя натуральное число с помощью функции `input()` и сохраняем его в переменной `number`.
Затем мы используем цикл `for`, чтобы пройтись по цифрам числа. Для каждой цифры на позиции `i` мы проверяем, равна ли она следующей цифре на позиции `i+1`. Если это условие выполняется, то мы возвращаем значение `True`, что означает, что в числе есть две соседние одинаковые цифры.
Если цикл завершается, и ни одна пара соседних цифр не совпадает, то мы возвращаем значение `False`, что означает, что в числе нет двух соседних одинаковых цифр.
Затем в основной программе мы вызываем функцию `check_duplicate_digits()` и, в зависимости от её возвращаемого значения, выводим соответствующее сообщение на экран.
Знаешь ответ?