刚学完Python基本知识后写的第一个Python程序——九九乘法表。通过这个程序熟悉print的用法,for循环的用法,以及range函数的特点。
python range() 函数可创建一个整数列表,一般用在 for 循环中。
range函数语法
range(start, stop[, step])
参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
# 长方形的99乘法 for i in range(1,10): for j in range(1,10): print("%d*%d=%2d" % (i, j, i*j),end=" ") print("") # 左下三角 for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d" % (i,j,i*j),end=" ") print (" ") # 右下三角 for i in range(1,10): for k in range(1,10-i): print(end=" ") for j in range(1,i+1): product=i*j print("%d*%d=%2d" % (i,j,product),end=" ") print (" ")
(似乎段落有变化,注意python空格)
输出代码如下:
C:\Users\lenovo>python c:\作业\9x9.py # 长方形的99乘法 1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 1*6= 6 1*7= 7 1*8= 8 1*9= 9 2*1= 2 2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1= 3 3*2= 6 3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1= 4 4*2= 8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 # 左下三角 1*1= 1 2*1= 2 2*2= 4 3*1= 3 3*2= 6 3*3= 9 4*1= 4 4*2= 8 4*3=12 4*4=16 5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 # 右下三角 1*1= 1 2*1= 2 2*2= 4 3*1= 3 3*2= 6 3*3= 9 4*1= 4 4*2= 8 4*3=12 4*4=16 5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
# 长方形的99乘法表深度解析: for i in range(1,10): #i取值范围为1, 2, 3, 4, 5, 6, 7, 8, 9 for j in range(1,10): #j取值范围为1, 2, 3, 4, 5, 6, 7, 8, 9 print("%d*%d=%2d" % (i, j, i*j),end=" ") #%d 普通的整数输出; #%2d整数输出,整数的宽度是2位,若不足两位,左边补空格;整数输出,整数的宽度是2位,若不足两位,左边补空格; ##02d整数输出,整数的宽度是2位,若不足两位,左边补0; #%.2d整数输出,整数的有效数字是2位。 #第一个%d 就是后面第一个数 就是i #第二个%d 就是后面第二个数 就是j #%2d 就是后面第三个数 就是i×J的结果 #end=" ",这个代码为end(print结束后)传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串。这个只有3版本有用。2.*版本不支持。 print(" ") #在每个内层for循环结束后换行,即在输出完九九乘法表一行后换行。
希望本文所述对大家的Python程序设计有所帮助。
用列表生成器打印九九乘法表
print '\n'.join(['\t'.join(['%d * %d = %d'%(y,x,x*y) for y in range(1,x+1)])for x in range(1,10)])