Python: как удалить четные цифры из числа

Чтобы удалить четные цифры из числа в Python, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование преобразования строк

  1. Преобразуйте число в строку.
  2. Перебрать каждый символ в строке.
  3. Проверьте, является ли символ четной цифрой.
  4. Если символ нечетный, добавьте его в новую строку.
  5. Наконец, преобразуйте новую строку обратно в целое число.
def remove_even_digits(number):
    number_str = str(number)
    new_number_str = ""

    for digit in number_str:
        if int(digit) % 2 != 0:
            new_number_str += digit

    return int(new_number_str)
# Example usage
number = 1234567890
result = remove_even_digits(number)
print(result)  # Output: 13579

Метод 2: использование оператора модуля

  1. Перебрать каждую цифру числа с помощью оператора модуля.
  2. Проверьте, является ли цифра нечетной.
  3. Если цифра нечетная, умножьте ее на соответствующую степень 10 и прибавьте к новому числу.
  4. Наконец, верните новый номер.
def remove_even_digits(number):
    new_number = 0
    power = 0

    while number > 0:
        digit = number % 10
        number //= 10

        if digit % 2 != 0:
            new_number += digit * (10  power)
            power += 1

    return new_number
# Example usage
number = 1234567890
result = remove_even_digits(number)
print(result)  # Output: 13579

Метод 3: использование понимания списка

  1. Преобразуйте число в строку.
  2. Используйте понимание списка, чтобы отфильтровать четные цифры.
  3. Объедините отфильтрованные цифры обратно в строку.
  4. Наконец, преобразуйте новую строку в целое число.
def remove_even_digits(number):
    number_str = str(number)
    new_number_str = "".join(digit for digit in number_str if int(digit) % 2 != 0)
    return int(new_number_str)
# Example usage
number = 1234567890
result = remove_even_digits(number)
print(result)  # Output: 13579