题目:
地球上的零在火星上被称为“tret”。地球上的数字1到12在火星上分别称为"jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec"。下一个更高的数字,火星人将这12个数字分别命名为“tam,hel,maa,huh,tou,kes,hei,elo,syy,lok,mer,jou”。
例如,地球上的数字29在火星上被称为“hel-mar”;火星上的“elo-nov”对应地球上的115。为了帮助来自这两个行星的人之间的交流,你应该写一个程序来实现地球和火星数字系统之间的相互转换。
输入规格:
每个输入文件包含一个测试用例。对于每种情况,第一行包含一个正整数N(<100)。接下来是N行,每行包含[0,169)中的一个数字,要么以地球数字的形式给出,要么以火星数字的形式给出。
输出规格:
对于每个数字,用另一种语言在一行中打印相应的数字。
样本输入:
4
29
5
elo nov
tam
样本输出:
hel mar
may
115
13
两个星球的转化 是 以13进制进行的。
代码:
n=int(input())
word1=['tret','jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jly', 'aug', 'sep', 'oct', 'nov', 'dec']
word2=['tret','tam', 'hel', 'maa', 'huh', 'tou', 'kes', 'hei', 'elo', 'syy', 'lok', 'mer', 'jou']
nums = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
def mars(x):
x=int(x)
#最开始用的办法:但是当数字是13的整数倍的时候会输出两个单词,但是结果只需要一个。所以改为一下代码
#if x<13:
# return word1[x]
#else:
# return word2[x//13]+' '+word1[x%13]
if x%13 == 0 :
return word2[x//13]
else:
if x//13 != 0 :
return word2[x//13]+' '+word1[x%13]
else:
return word1[x%13]
def earth(x):
x1=x.split()
if len(x1)==2:
return str(word2.index(x1[0])*13+word1.index(x1[1]))
else:
if x1[0] in word2:
return str(word2.index(x1[0])*13)
else:
return str(word1.index(x1[0]))
for a in range(n):
x=input()
if x[0].isdigit()==True:
print(mars(x))
else:
print(earth(x))