用Python模拟整数乘法的小学竖式计算方法
程序员文章站
2022-11-17 11:26:30
用Python模拟整数乘法的小学竖式计算方法模拟整数乘法的小学竖式计算方法示例:关于这个计算的思路:是将较小的数从个位开始,把每一位数乘以较大的乘数,得到的结果自取一行,逐行向前进一个位子,再最后竖着相加得到结果,用计算机可以直接得出结果,所以问题就是怎么把过程按照正确的格式输出出来,相关代码可以参考下面a=int(input())b=int(input())c="*)"d="----------------"def do(a,b): kuan=len(str(a*b)) # 获...
用Python模拟整数乘法的小学竖式计算方法
模拟整数乘法的小学竖式计算方法
示例:
关于这个计算的思路:
是将较小的数从个位开始
,把每一位数
乘以较大的乘数,得到的结果自取一行,逐行向前进一个位子
,再最后竖着相加得到结果,用计算机可以直接得出结果,所以问题就是怎么把过程按照正确的格式输出
出来,相关代码可以参考下面
a=int(input())
b=int(input())
c="*)"
d="----------------"
def do(a,b):
kuan=len(str(a*b)) # 获取计算结果的长度
i=0
print(str(max(a,b)).rjust(kuan)) # 第一行写的是最大的乘数,总长度是计算结果的长度
print(c,str(min(a,b)).rjust(kuan-3)) # 第二行写的是"*)"这个符号加上更小的乘数,靠右输出,总长度是计算结果的长度
print(d) # 打印分割线
m=min(a,b)
mm=list(map(int,reversed(str(m)))) # 计算法则中较小的每个位的数都要乘大的数,所以把小的乘数倒序放到列表里
for x in mm:
f1=x*max(a,b) # 计算列表的每一个数*大的乘数
print((str(f1)+" "*i).rjust(kuan)) # 每次计算都要输出
i+=1 # 每输出一次后面的空格都要加一次
print(d) # 再输出一次分割线
print(a*b) # 输出结果
do(a,b)
本文地址:https://blog.csdn.net/m0_51078229/article/details/112004895
上一篇: cdr工具使用的两个小技巧
下一篇: Python学生信息管理系统修改版