2015-11-01 124 views
-3

我看下面的代码,但我需要其他的方式来代替以下元素:我可以用什么来代替?

- =。加入(结果)

def int_to_roman(input): 
    if not isinstance(input, type(1)): 
     raise TypeError("expected integer, got %s" % type(input)) 
    if not 0 < input < 4000: 
     raise ValueError("Argument must be between 1 and 3999") 
    ints = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1) 
    nums = ('M', 'CM', 'D', 'CD','C', 'XC','L','XL','X','IX','V','IV','I') 
    result = [] 

    for i in range(len(ints)): 
     count = int(input/ints[i]) 
     result.append(nums[i] * count) 
     input -= ints[i] * count 
    return ''.join(result) 

谢谢

+0

你是什么实际问题? – brittenb

+0

请注意,使用输入作为变量是一个坏主意,因为输入是一个内置的,但你有更大的问题(如实际上有一个可回答的问题)首先 – Foon

回答

0

我不知道为什么要做到这一点,但这里有云:

替换此行:

input -= ints[i] * count 

有了:

input = input - (ints[i] * count) 

而且return ''.join(result)

有了:

s = "" 
for i in result: 
    s = s + i + " " 
s = s.strip() 
return s 
+0

非常感谢您的帮助。周末愉快。 – rockethon

相关问题