ローマ数字は、古代ローマで使用されていた数え方であり、現代でも特定の文脈で使用されています。以下に、数値をローマ数字に変換する方法といくつかのコード例を示します。
方法1: ループを使用した変換
def convert_to_roman(num):
roman_numerals = {
1000: 'M',
900: 'CM',
500: 'D',
400: 'CD',
100: 'C',
90: 'XC',
50: 'L',
40: 'XL',
10: 'X',
9: 'IX',
5: 'V',
4: 'IV',
1: 'I'
}
roman = ''
for value, numeral in roman_numerals.items():
while num >= value:
roman += numeral
num -= value
return roman
この関数では、辞書 roman_numerals
を使用して数値と対応するローマ数字を定義します。その後、入力された数値 num
をループで処理し、対応するローマ数字を roman
文字列に追加します。最終的に、変換されたローマ数字を返します。
方法2: 再帰を使用した変換
def convert_to_roman(num):
roman_numerals = [
(1000, 'M'),
(900, 'CM'),
(500, 'D'),
(400, 'CD'),
(100, 'C'),
(90, 'XC'),
(50, 'L'),
(40, 'XL'),
(10, 'X'),
(9, 'IX'),
(5, 'V'),
(4, 'IV'),
(1, 'I')
]
if num == 0:
return ''
for value, numeral in roman_numerals:
if num >= value:
return numeral + convert_to_roman(num - value)
この関数では、タプルのリスト roman_numerals
を使用して数値と対応するローマ数字を定義します。関数は再帰的に呼び出され、入力された数値 num
から最大のローマ数字を引き、そのローマ数字を返します。再帰呼び出しは、数値が0になるまで続きます。
これらのコード例を使用すると、以下のように数値をローマ数字に変換できます。
num = 1234
converted_num = convert_to_roman(num)
print(converted_num) # 結果: MCCXXXIV
以上が、数値をローマ数字に変換する方法とコード例です。これを参考にして、自分のプロジェクトや課題で応用してみてください。