ReversedMultiplicationTable

浏览: 862

先看一下运行效果图:

微信截图_20161021095201.png

实现步骤:

Step1: 

创建两个空的list变量,分别表示乘法公式里的两个乘数

Step2:

For循环,range(1, 10),用list的append方法给两个list赋值

Step3:

双重循环输出正向乘法表

外层循环 for j in range(1, len(term1) + 1)

range的stop num是list的length+1,这层循环得到了乘法表的9行

里层循环 for k in range(1, j + 1) ,根据上面的运行效果可以看到,正序乘法表中,第二个乘数的值等于第一个乘数的值,所以构造range(1, j + 1)

Step4:

输出乘法表,需要注意的是,Python3中的print函数可以直接输出integer变量,也可以直接输出string,但是如果要同时输出,需要把其他的变量类型用str()函数转换成string类型。

另外,Python3的print()函数,默认是输出然后换行,如果我们不想它换行,我们就给它一个参数,end=""。比如print(a, end=""),那么在输出变量a的值之后,程序就不会还行了。

Step5:

双重循环逆向输出乘法表

外层循环 for m in range(len(term1), 0, -1):

下面说明一下range()函数

Python doc说明:range(startstop[step]),第一个参数表示开始的值,第二个参数表示结束值,但是不等于这个结束值,以上面给list赋值的range(1, 10)为例。这就表示产生从1开始,到10-1=9的元组,也就是(1,2,3,4,5,6,7,8,9)。最后一个Step是可选的,如果不填就是默认为1,即后一个数在前一个数的基础上加1.

所以这里我们需要倒序输出乘法表,则第一个乘数从9递减到1,用range(len(term1), 0, -1)实现

内层循环 for n in range(1, m + 1),这里跟正序输出的情况是一样的,不做过多说明。

Step6:

同样,我们再次输出逆向乘法表


最后贴出代码,欢迎大家指正。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

term1 = list()
term2 = list()

for i in range(1, 10):
term1.append(i)
term2.append(i)

print("------------------------Multiplication Table-------------------------")
for j in range(1, len(term1) + 1):
for k in range(1, j + 1):
print(str(j) + "*" + str(k) + "=" + str(j * k) + " ", end="")
print()
print("--------------------------------End----------------------------------")
print()
print()
print("-----------------Reversed Multiplication Table-----------------------")
for m in range(len(term1), 0, -1):
for n in range(1, m + 1):
print(str(m) + "*" + str(n) + "=" + str(m * n) + " ", end="")
print()
print("--------------------------------End----------------------------------")

推荐 1
本文由 mollyHuang 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册