Python打印三角形图案和九九乘法表

       这里写两个Python打印图案和九九乘法表的案例,重点在于理解思路,Python与java之间的微妙区别还是大有存在的,有时候在写代码中无意间会被另一种语言机制所牵制,导致找不到问题,所以,需要细心分析各语言之间在哪些使用中有区别。

  • 用循环方式打印直角三角形和等边三角形,第二个循环的range(num1,num2)的第一个参数在这里可以省略,默认从0开始计算:
def print_stars04(n):
    for i in range(1,n+1):  # 控制行数
        for j in range(i):  # 控制每行打印次数
            print('* ',end='')
        print() # 控制换行

print_stars04(6)
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
for i in range(1,6): #  控制行数
    for j in range(5-i): # 控制空格数
        print(" ",end=' ')
    for k in range(1,i+1): #控制*个数
        print('*',end=' '*3)
    print() # 换行
        *   
      *   *   
    *   *   *   
  *   *   *   *   
*   *   *   *   *  
  • 循环加算法的思维:
def print_starts03(a,b):
    for i in range(a,b):
        print('* '*i)

print_starts03(1,6)
def print_satrs01(n):
    i = 1
    while i <= n:
        print('* '*i)
        i+=1

print_satrs01(5)
* 
* * 
* * * 
* * * * 
* * * * * 
def print_starts02(m):
    i=1
    while i <= m:
        print(' '*2*(m-i)+'* '*(2*i-1))
        i+=1

print_starts02(8)
              * 
            * * * 
          * * * * * 
        * * * * * * * 
      * * * * * * * * * 
    * * * * * * * * * * * 
  * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 
  • 借鉴直角三角形的打印方法即可做出九九乘法表,只是第二个循环的range(num1,num2)的num1需要根据实际意义取值:
for i in range(1,10):
    for j in range(1,i+1):
        print('%d * %d = %d'%(i,j,i*j),'\t',end='')
    print()
  • 补充,九九乘法表其他两种方式:
i = 1
while i <= 9:
    j = 1
    while j < i+1:
        print(j,'x',i,'=',i*j,'\t',end='')
        # print('%d*%d=%d'%(j,i,i*j),'\t',end='')
        j = j+1
    i += 1
    print()
print ('\n'.join([' '.join(['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)]))
1*1=1 	
1*2=2 	2*2=4 	
1*3=3 	2*3=6 	3*3=9 	
1*4=4 	2*4=8 	3*4=12 	4*4=16 	
1*5=5 	2*5=10 	3*5=15 	4*5=20 	5*5=25 	
1*6=6 	2*6=12 	3*6=18 	4*6=24 	5*6=30 	6*6=36 	
1*7=7 	2*7=14 	3*7=21 	4*7=28 	5*7=35 	6*7=42 	7*7=49 	
1*8=8 	2*8=16 	3*8=24 	4*8=32 	5*8=40 	6*8=48 	7*8=56 	8*8=64 	
1*9=9 	2*9=18 	3*9=27 	4*9=36 	5*9=45 	6*9=54 	7*9=63 	8*9=72 	9*9=81 	

 

你可能感兴趣的:(Python)