打印九九乘法三角形的各种思路

代码:

1、下面两个代码 的结果不太一样

for i in range(1,10):
  for j in range(1,i+1):
    print(str(j)+'*'+str(i)+'='+str(i*j),end=' ')   

  print()

结果:

for i in range(1,10):
  for j in range(1,i+1):
    print(j,'*',i,'=',i*j,sep='',end=' ')
  print()

结果:

#结果1 是通过把数字转换为字符串的形式来打印的,而结果2 是直接打印数字的值,故距离有差别,可以通过限制sep=''来实现与1同样的效果

2、

for i in range(1,10):
  for j in range(1,10):
    if i>j:
      print('{}     {}     {}'.format('','',''),end=' ') #利用format打印空格来补足缩进
    else:
      print('{}*{}={:<2}'.format(i,j,i*j),end=' ')
  print()

结果:

for i in range(1,10):
  print("  "*7*(i-1),end=' ')   #对于这个等式,首先是对于空格数的把控,一个等式是7个空格。
  for j in range(i,10):   #然后把其看作一个单元,因为第一行前面不需要补齐,所以为零个单元,剩余的每一个补齐根据当前行数,故乘(i-1)
    print('{}*{}={:<2}'.format(i,j,i*j),end=' ')
  print()

结果:

 

猜你喜欢

转载自www.cnblogs.com/mapone/p/12013174.html