PAT (Basic Level) Practice Python解法 1044 火星数字(进制转换的进位问题)
marsg = ['tret', "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec",'tam']
marss = ["tam", 'hel', 'maa', 'huh', 'tou', 'kes', 'hei', 'elo', 'syy', 'lok', 'mer', 'jou']
def trans(n):
if n.isnumeric():
if n=='0':
return 'tret'
else:
n = int(n)
sw = n//13
gw = n%13
if gw==0:
transgw = ''
else:
transgw = marsg[gw]#整除的时候个位没有零
if sw!=0 and gw!=0:
transsw = marss[sw-1]+' '#十位个位均不为零
elif sw!=0 and gw==0:
transsw = marss[sw-1]#十位不为零,个位为零
else:
transsw = ''
return transsw + transgw
else:
ck = n.split()
if len(ck)==1:
if ck[0] in marsg:
return marsg.index(ck[0])
else:
return (marss.index(ck[0])+1)*13
else:
return (marss.index(ck[0])+1)*13 + (marsg.index(ck[1]))*1
cklist = []
n = int(input())
for i in range(n):
cklist.append(input())
for num in cklist:
print(trans(num))