#33016: python 萌新可參考


a35500605 (xiang)

學校 : 國立臺東高級商業職業學校
編號 : 214708
來源 : [220.143.139.25]
最後登入時間 :
2024-06-22 17:44:51
a013. 羅馬數字 -- NPSC 模擬試題 | From: [1.174.10.176] | 發表日期 : 2022-11-23 17:25

先建立對照表,操作可用傳入函式的方式比較不會亂:

(變數名稱可能會看得很辛苦,如有建議歡迎指教)

    羅馬轉數字用:

w = {"M":1000,"D":500,"C":100,"L":50,"X":10,"V":5,"I":1}
 
def num(n):
    n = n[::-1]
    m = w[n[0]]
    for i in range(1,len(n)):
        if w[n[i]]<w[n[i-1]]:
            m-=w[n[i]]
        else:
            m+=w[n[i]]
    return(m)
 
    數字轉羅馬用:
p = [["M",1000],["CM",900],["D",500],["CD",400],["C",100],["XC",90],["L",50],["XL",40],["X",10],["IX",9],["V",5],["IV",4],["I",1]]
 
def roma(n):
    r = ""
    for i in p:
        x = divmod(n,i[1])
        if x[0]!=0:
            r += i[0]*x[0]
            n = x[1]
    return r
 
ZeroJudge Forum