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
break
break
for i in n1[len(n2):]:
n3.append(i)
while "" in n3:
n3.remove("")
return "".join(map(str,n3[::-1]))
else:
a3 = Nsubtraction(n, a2, a1)
return (-1)*int(a3)
n为进制 a1为被减数 a2为减数
本文介绍了如何使用Python进行2到10进制之间的减法运算,支持自由转换,包括被减数a1和减数a2的设定。
816

被折叠的 条评论
为什么被折叠?



