π’ ΠΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΡΡ Π² Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ Π² Python?
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠΈΠΌΡΠΊΠΈΡ ΡΠΈΡΡ Π² Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π° Π² Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
def roman_to_arabic(roman):
roman_map = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
arabic = 0
prev_value = 0
for i in range(len(roman)-1, -1, -1):
if roman_map[roman[i]] >= prev_value:
arabic += roman_map[roman[i]]
else:
arabic -= roman_map[roman[i]]
prev_value = roman_map[roman[i]]
return arabic
roman_numeral = 'XXV'
arabic_numeral = roman_to_arabic(roman_numeral)
print(arabic_numeral)
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ roman_to_arabic, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ roman_map, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΌΡΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎ ΡΠΈΠΌΡΠΊΠΎΠΌΡ ΡΠΈΡΠ»Ρ Ρ ΠΊΠΎΠ½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» for, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΡ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊ Π°ΡΠ°Π±ΡΠΊΠΎΠΌΡ ΡΠΈΡΠ»Ρ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΡΠΈΡΠ°Π΅ΠΌ Π΅Π³ΠΎ.
Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ roman_to_arabic Ρ ΡΠΈΠΌΡΠΊΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ 'XXV' ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΡΡ Π² Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ Π² Python
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΈΠΌΡΠΊΠΈΡ ΡΠΈΡΡ Π² Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»Π°, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΠΈΠΌΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π² ΡΠΈΡΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΌΡΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΈΡ Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
def roman_to_arabic(roman_numeral):
roman_to_arabic_dict = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000
}
arabic_numeral = 0
previous_value = 0
for symbol in reversed(roman_numeral):
if roman_to_arabic_dict[symbol] >= previous_value:
arabic_numeral += roman_to_arabic_dict[symbol]
else:
arabic_numeral -= roman_to_arabic_dict[symbol]
previous_value = roman_to_arabic_dict[symbol]
return arabic_numeral
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
roman_numeral = "XIV"
arabic_numeral = roman_to_arabic(roman_numeral)
print(arabic_numeral) # ΠΡΠ²ΠΎΠ΄: 14
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ roman_to_arabic
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ, roman_to_arabic_dict
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΌΡΠΊΠΈΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΈΡ
Π°ΡΠ°Π±ΡΠΊΠΈΡ
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠ².
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠΈΠΌΡΠΊΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΠΌΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊ ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠΌΠΌΠ΅. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΡΠΈΡΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠΌΠΌΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ roman_to_arabic
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ "XIV" Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ 14.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π° Π² Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Π½Π° Python.