Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2356018
А
Аноним
27 ноября 2024 13:39 · публичный вопрос
А
Аноним

s = input() # Ввод строки # Перебираем буквы и выводим их как цифры по убыванию for i in range(9, -1, -1): # Перебираем цифры от 9 до 0 for c in s: # Перебираем символы строки if…

Запрос пользователя

S = input() # Ввод строки # Перебираем буквы и выводим их как цифры по убыванию for i in range(9, -1, -1): # Перебираем цифры от 9 до 0 for c in s: # Перебираем символы строки if c == 'a' and i == 0: print(i, end='') elif c == 'b' and i == 1: print(i, end='') elif c == 'c' and i == 2: print(i, end='') elif c == 'd' and i == 3: print(i, end='') elif c == 'e' and i == 4: print(i, end='') elif c == 'f' and i == 5: print(i, end='') elif c == 'g' and i == 6: print(i, end='') elif c == 'h' and i == 7: print(i, end='') elif c == 'i' and i == 8: print(i, end='') elif c == 'j' and i == 9: print(i, end='') сделай проще

Ответ нейросети
27 ноября 2024 13:39

Конечно! Давайте упростим ваш код. Вместо того чтобы использовать множественные проверки if, вы можете воспользоваться функцией ord(), чтобы преобразовать буквы в числа.

Вот упрощённая версия вашего кода:

s = input()  # Ввод строки

# Перебираем символы строки
for c in s:
    if 'a' <= c <= 'j':  # Проверяем, находится ли символ в диапазоне от 'a' до 'j'
        print(9 - (ord(c) - ord('a')), end='')

Что происходит в этом коде:

  1. Мы используем ord(c) для получения ASCII-кода символа c.
  2. С помощью ord('a') мы находим код буквы 'a' и вычитаем его из кода символа c, чтобы получить индекс (от 0 до 9) для букв от 'a' до 'j'.
  3. Затем мы вычитаем этот индекс из 9, чтобы получить значение от 9 до 0 для вывода.

Этот подход значительно сокращает количество проверок и делает код более читаемым. Если у вас есть ещё вопросы или нужно что-то дополнительно пояснить, не стесняйтесь спрашивать!