/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Home_Task/HT_2/task3.py
46 строк
3 KB
Ivan Khabarov
Добавлены новые проекты
03 сен 2024, 11:36
03 сен 2024, 11:36
6296fbf
Код
Авторство
О чём код?
# Задача 3. Перевод целого числа в римское число # Программа принимает целое число и возвращает его римское представление в # виде строки. # Подсказка № 1 # Определите два массива: один для числовых значений (например, 1000, 900, 500 и так # далее), другой для их римских эквивалентов (например, "M", "CM", "D" и так далее). # Подсказка № 2 # Используйте цикл while, чтобы повторять процесс преобразования, пока ваше число # больше нуля. Внутри цикла while используйте другой цикл for, чтобы определить, # сколько раз текущее значение из массива может быть вычтено из числа. # Подсказка № 3 # Для каждого значения из массива чисел добавляйте соответствующий римский символ # к результирующей строке. Уменьшайте число на соответствующую величину каждый # раз, когда добавляете римский символ. # Подсказка № 4 # После обработки текущего значения числа, переходите к следующему элементу # массивов значений и символов, чтобы продолжить процесс преобразования. num = int(input("Введите число: ")) # Ввод числа с клавиатуры. # массив значения чисел в шестнадцатеричной системе счисления. values = [ 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 ] symbols = [ "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" ] # Инициализируем пустую строку для результата. rom_num = '' i = 0 # Индекс текущего элемента массива. По умолчанию 0. while num > 0: for _ in range(num // values[i]): # Проходимся по всем элементам массива. rom_num += symbols[i] # Добавляем соответствующий символ к результирующей строке. num -= values[i] # Уменьшаем число на соответствующую величину. При этом, если число меньше нуля, то оно уменьшается на 1. Поэтому, если число меньше нуля, то оно уменьшается на 1. i += 1 # Переходим к следующему элементу массива. print(f"Полученное римское число: {rom_num}") # Вывод результата.