I am trying to create a function in python that takes a Roman numeral as its argument and then returns the value as a numeric integer. Keep in mind it does not need to validate the form of the Roman numeral
system
Estou tentando criar uma função no Python que toma um número romano como seu argumento e depois retorna o valor como um número inteiro numérico.Lembre -se de que não precisa validar a forma do número romano
user
Aqui está uma função que converte um número romano em um número inteiro:

Solução DEF (Roman):
    nums = []
    Ans = 0
    para char em romano:
        se char == 'm':
            Nums.Append (1000)
        elif char == 'd':
            Nums.Append (500)
        elif char == 'c':
            Nums.Append (100)
        elif char == 'l':
            Nums.Append (50)
        elif char == 'x':
            Nums.Append (10)
        elif char == 'v':
            Nums.Append (5)
        elif char == 'i':
            Nums.Append (1)
    para i, n em enumerado (nums [:-1]):
        se n> = nums [i + 1]:
            Ans += n
        outro:
            Ans -= n
    Retornar ANS + NUMS [-1]

Aqui está o detalhamento passo a passo do código.
1.) Primeiro, o código percorre cada caractere no parâmetro "Roman".
2.) Se o caractere for um valor de numeral romano válido, o código anexa o valor correspondente a "NUMS".
3.) O enumerado é usado para fazer loop sobre todos os pares de números inteiros adjacentes na variável "nums", exceto para o último.
4.) Para cada par de números inteiros, o código os compara para determinar se deve adicionar ou subtrair a variável "n" do resultado.
5.) Se "n" for maior ou igual a "nums [i+1]" então "n" for adicionado à variável "ANS".Caso contrário, "n" é subtraído.
6.) O último valor inteiro é sempre adicionado a "ANS", independentemente do valor, porque não há mais pares de números inteiros para compará -lo.
assistant
<|system|>
</s>
<|user|>
Estou tentando criar uma função no Python que toma um número romano como seu argumento e depois retorna o valor como um número inteiro numérico.Lembre -se de que não precisa validar a forma do número romano</s>
<|assistant|>
Aqui está uma função que converte um número romano em um número inteiro:

Solução DEF (Roman):
    nums = []
    Ans = 0
    para char em romano:
        se char == 'm':
            Nums.Append (1000)
        elif char == 'd':
            Nums.Append (500)
        elif char == 'c':
            Nums.Append (100)
        elif char == 'l':
            Nums.Append (50)
        elif char == 'x':
            Nums.Append (10)
        elif char == 'v':
            Nums.Append (5)
        elif char == 'i':
            Nums.Append (1)
    para i, n em enumerado (nums [:-1]):
        se n> = nums [i + 1]:
            Ans += n
        outro:
            Ans -= n
    Retornar ANS + NUMS [-1]

Aqui está o detalhamento passo a passo do código.
1.) Primeiro, o código percorre cada caractere no parâmetro "Roman".
2.) Se o caractere for um valor de numeral romano válido, o código anexa o valor correspondente a "NUMS".
3.) O enumerado é usado para fazer loop sobre todos os pares de números inteiros adjacentes na variável "nums", exceto para o último.
4.) Para cada par de números inteiros, o código os compara para determinar se deve adicionar ou subtrair a variável "n" do resultado.
5.) Se "n" for maior ou igual a "nums [i+1]" então "n" for adicionado à variável "ANS".Caso contrário, "n" é subtraído.
6.) O último valor inteiro é sempre adicionado a "ANS", independentemente do valor, porque não há mais pares de números inteiros para compará -lo.</s>
