Найти - Пользователи
Полная версия: Решение задачи по римским цифрам
Начало » Python для новичков » Решение задачи по римским цифрам
1
PSAS
Здравствуйте!
Прошу уточнить в чем может быть ошибка
 romans=dict(I=1,V=5,X=10,L=50,C=100,D=500,M=1000)
def parse_roman(roman):
    #переменная аккумулятор
    result=0
    for i,с in enumerate(roman):
    # не заходим за границу римской нотации и проверяем два случая
        if i+1<len(roman) and romans[с] < romans[romans[i+1]]:
        # если текущее значение меньше следующего, то отнимает от результата это значение
            result-=romans[с]
        else:
            result+=romans[с]
    return result
print(parse_roman('I')==1)
print(parse_roman('II')==2)
print(parse_roman('IV')==4)
print(parse_roman('VI')==6)
print(parse_roman('V')==5)
print(parse_roman('X')==10)
print(parse_roman('XIV')==14)
print(parse_roman('L')==50)
print(parse_roman('C')==100)
print(parse_roman('M')==1000)
Traceback (most recent call last):
File “C:\Users\Карапет\AppData\Local\Programs\Python\Python310\Тест\Roman.py”, line 15, in <module>
print(parse_roman('II')==2)
File “C:\Users\Карапет\AppData\Local\Programs\Python\Python310\Тест\Roman.py”, line 8, in parse_roman
if i+1<len(roman) and romans < romans[romans]:
KeyError: 1
py.user.next
Исправил ошибку в имени
   
romans=dict(I=1,V=5,X=10,L=50,C=100,D=500,M=1000)
 
def parse_roman(roman):
    #переменная аккумулятор
    result=0
    for i,c in enumerate(roman):
    # не заходим за границу римcкой нотации и проверяем два cлучая
        if i+1<len(roman) and romans[c] < romans[roman[i+1]]:
        # еcли текущее значение меньше cледующего, то отнимает от результата это значение
            result-=romans[c]
        else:
            result+=romans[c]
    return result
 
print(parse_roman('I')==1)
print(parse_roman('II')==2)
print(parse_roman('IV')==4)
print(parse_roman('VI')==6)
print(parse_roman('V')==5)
print(parse_roman('X')==10)
print(parse_roman('XIV')==14)
print(parse_roman('L')==50)
print(parse_roman('C')==100)
print(parse_roman('M')==1000)

[guest@localhost py]$ python3 romans.py 
True
True
True
True
True
True
True
True
True
True
[guest@localhost py]$
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB