罗马数字,,import strin


import stringimport sysclass roman:    def __init__(self,y):        if y < 1:            raise ValueError        self.rlist = []        ms = y / 1000        tmp = y % 1000        if ms > 0:            self.rlist.append('M' * ms)        ds = tmp / 500        tmp = tmp % 500        if ds > 0:            self.rlist.append('D' * ds)        cs = tmp / 100        tmp = tmp % 100        if cs > 0:            self.rlist.append('C' * cs)        ls = tmp / 50        tmp = tmp % 50        if ls > 0:            self.rlist.append('L' * ls)        xs = tmp / 10        tmp = tmp % 10        if xs > 0:            self.rlist.append('X' * xs)        vs = tmp / 5        tmp = tmp % 5        if vs > 0:            self.rlist.append('V' * vs)        js = tmp        if js > 0:            self.rlist.append('I' * js)     def ryear(self):         s = ''         for i in self.rlist:             s = s + i         return sif __name__ == '__main__':     if len(sys.argv) > 1:         yr = string.atoi(sys.argv[1])     else:         yr = 1999     x = roman(yr)     print x.ryear()

评论关闭