def N_M_add(N, M):
"""
回文数加减器:N是进制数,M是要求的数 2<=N<=10
N为int型,M为str型
"""
flag = 0
lenM = len(M) # M的长度
M_re = M[::-1] # M的逆序数
s_list = []
for i in range(1, lenM + 1):
t = 0
k = int(M_re[-i]) + int(M[-i]) + flag
ys = k % N
if k >= N:
flag = 1
else:
flag = 0
s_list.insert(-t, '{}'.format(ys)) # 插到列表后面
if (i == lenM and flag == 1):
s_list.insert(0, '1') # 插到列表后面
t = t + 1
s = ''.join(s_list)
return s
i = 1
N = input() # N是进制数
M = input() # M是要求的数
a = []
while (1):
suc_flag = 1
if N == '16':
M1 = str(int("{}".format(M), 16)) # 先把这个数转成10进制
conf = N_M_add(10, M1)
conf_1 = hex(int(conf)) # 再把结果转回16进制
conf_1 = conf_1[-2:] # 去除前缀的0x
if conf_1 == conf_1[::-1]:
break
else:
i = i + 1
M = conf_1
if i > 30:
suc_flag = 0
i = 0
break
else:
conf = N_M_add(int(N), M)
if conf == conf[::-1]:
break
else:
i = i + 1
M = conf
if i > 30:
suc_flag = 0
i = 0
break
if (suc_flag):
print('STEP={}'.format(i))
else:
print('Impossible!')
怎么把最后一个回车读入去掉啊啊啊啊啊,我太菜了....