思路:这道题让我们根据给出的进制进行相应的转换,我们可以用字典存储对应的转换规则,便于计算。需要注意的是:
输入的一些特殊值0,0对应的火星数字为‘tret’
代码如下:
import sys
in_1 = int(sys.stdin.readline())
list_x = [x for x in range(0,13)]
list_y = [y for y in range(1,13)]
list_x_1 = ['tret','jan','feb','mar','apr','may','jun','jly','aug','sep','oct','nov','dec']
list_y_1 = ['tam','hel','maa','huh','tou','kes','hei','elo','syy','lok','mer','jou']
dict_k_v_0,dict_k_v_1 = dict(zip(list_x,list_x_1)),dict(zip(list_y,list_y_1))
dict_v_k_0,dict_v_k_1 = dict(zip(list_x_1,list_x)),dict(zip(list_y_1,list_y))
for x in range(in_1):
in_2 = input()
try:
out_1,out_2=int(in_2)//13,int(in_2)%13
if out_1==0:
print('{}'.format(dict_k_v_0[out_2]))
elif out_1!=0 and out_2==0:
print('{}'.format(dict_k_v_1[out_1]))
else :
print('{} {}'.format(dict_k_v_1[out_1],dict_k_v_0[out_2]))
except:
if ' ' in in_2:
out_1=in_2[0:in_2.index(' ')]
out_2=in_2[in_2.index(' ')+1:]
print((dict_v_k_1[out_1]*13)+dict_v_k_0[out_2])
else :
if in_2 in dict_v_k_0:
print(dict_v_k_0[in_2])
elif in_2 in dict_v_k_1:
print(dict_v_k_1[in_2]*13)