2014年7月24日 星期四

Python - 序數轉換

忘了是在哪裡看到的,不常用,不過是一個滿有趣的寫法,利用python的dict,能將數字1變成1st,數字2變成2nd,數字3變成3rd,數字4變成4th等。
## Returns the ordinal number of a given integer, as a string. eg. 1 -> 1st, 2 -> 2nd, 3 -> 3rd, etc.
def ordinal(num):
    num = int(num)
    if 10 <= num % 100 < 20:
        return "{0}th".format(num)
    else:
        ords = {1 : "st", 2 : "nd", 3 : "rd"}.get(num % 10, "th")
        return "{0}{1}".format(num, ords)

沒有留言: