Python实现2—10进制自由转换减法
def Nsubtraction(n, a1, a2):
n1 = list(int(a) for a in str(a1))
n1 = n1[::-1]
n2 = list(int(a) for a in str(a2))
n2 = n2[::-1]
n3 = list("" for _ in range(max(len(n1),len(n2))))
for i in n1:
if i < n:
continue
else:
raise ValueError("输入数字错误!")
exit()
for i in n2:
if i < n:
continue
else:
raise ValueError("输入数字错误!")
exit()
if a1 >= a2:
for i in range(len(n2)):
if n1[i] >= n2[i]:
n3[i] = n1[i]- n2[i]
else:
n3[i] = n1[i] + n - n2[i]
for j in range(1,len(n1)):
if n1[i+j] == 0 :
continue
else:
n1[i+j] -= 1
for k in range(1,j):
n1 [i+j-k] = n - 1