2015-11-01 125 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

相關問題