Related to question Excel Sheet Column Title

Given a column title as appear in an Excel sheet, return its corresponding column number.

For example:

    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 

import string
class Solution(object):
    def titleToNumber(self, s):
        """
        :type s: str
        :rtype: int
        """
        upper = string.ascii_uppercase
        cache = {v:i+1 for i,v in enumerate(upper)}
        ans = 0
        for i,v in enumerate(s[::-1]):
            ans += 26**i * cache[v]
        return ans