π’ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python | ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠΈΠΌΡΠΊΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
def roman_to_arabic(roman_numeral):
roman_dict = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
arabic_num = 0
prev_value = 0
for char in roman_numeral[::-1]:
value = roman_dict[char]
if value >= prev_value:
arabic_num += value
else:
arabic_num -= value
prev_value = value
return arabic_num
roman_numeral = 'XIV'
arabic_numeral = roman_to_arabic(roman_numeral)
print(f"The Arabic numeral for {roman_numeral} is {arabic_numeral}")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ roman_to_arabic, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ roman_dict, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΈΠΌΡΠΊΠΎΠΉ ΡΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΡΠΈΠΌΡΠΊΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠΌΠΌΠ΅. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ, ΡΠΎ ΠΎΠ½ΠΎ Π²ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠΌΠΌΡ. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
Π ΠΊΠΎΠ΄Π΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π³Π΄Π΅ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ 'XIV' ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ print.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΈΠΌΡΠΊΠΈΡ ΡΠΈΡΠ΅Π» Π² Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ β ΡΡΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΈ Π°ΡΠ°Π±ΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°. Π ΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π° β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΠΡΠ΅Π²Π½Π΅ΠΌ Π ΠΈΠΌΠ΅. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΈΠΌΡΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ I (1), V (5), X (10), L (50), C (100), D (500) ΠΈ M (1000). ΠΡΠ°Π±ΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π° β ΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Π΄Π΅ΡΡΡΠΊΠ°Ρ .
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.
Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΌΡΠΊΠΈΡ ΡΠΈΡΡ ΠΈ ΠΈΡ Π°ΡΠ°Π±ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
roman_to_arabic = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000
}
Π¨Π°Π³ 2: ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΠΎΠΊΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΡΠΈΠΌΡΠΊΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ»ΠΎΠ²Π°ΡΡ roman_to_arabic ΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΌΠΌΡ Π°ΡΠ°Π±ΡΠΊΠΈΡ ΡΠΈΡΠ΅Π».
def roman_to_arabic_conversion(roman_number):
arabic_number = 0
previous_number = 0
for roman_digit in roman_number:
current_number = roman_to_arabic.get(roman_digit, 0)
if current_number > previous_number:
arabic_number += current_number - 2 * previous_number
else:
arabic_number += current_number
previous_number = current_number
return arabic_number
Π¨Π°Π³ 3: Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ Π½Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΉ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ Π½Π°ΠΌ Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°.
roman_number = 'XXIV'
arabic_number = roman_to_arabic_conversion(roman_number)
print(arabic_number) # ΠΡΠ²ΠΎΠ΄: 24
ΠΠΎΡ ΠΈ Π²ΡΠ΅! Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π½Π°Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΡΠΊΠΈΡ ΡΠΈΡΠ΅Π», ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΡΠΊΠΈΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ.
ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠ³ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π°ΡΠ°Π±ΡΠΊΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python. Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!