今天看啥
    热点:

      天发国际娱乐官网:但作为由环保督查牵引出来的首批涨价的原材料,其实也为后面各类原材料短缺、涨价埋下了伏笔。

      python3 第八章,python3


      前面我们在第四章的时候挖了个坑:怎么用优雅的方式来打印九九乘法表。这一章我们就来填上这个坑。

      首先,我们再来看下九九乘法表是什么样子的

      1 x 1 = 1
      1 x 2 = 2 2 x 2 = 4
      1 x 3 = 3 2 x 3 = 6 3 x 3 = 9
      1 x 4 = 4 2 x 4 = 8 3 x 4 =12 4 x 4 =16
      1 x 5 = 5 2 x 5 =10 3 x 5 =15 4 x 5 =20 5 x 5 =25
      1 x 6 = 6 2 x 6 =12 3 x 6 =18 4 x 6 =24 5 x 6 =30 6 x 6 =36
      1 x 7 = 7 2 x 7 =14 3 x 7 =21 4 x 7 =28 5 x 7 =35 6 x 7 =42 7 x 7 =49
      1 x 8 = 8 2 x 8 =16 3 x 8 =24 4 x 8 =32 5 x 8 =40 6 x 8 =48 7 x 8 =56 8 x 8 =64
      1 x 9 = 9 2 x 9 =18 3 x 9 =27 4 x 9 =36 5 x 9 =45 6 x 9 =54 7 x 9 =63 8 x 9 =72 9 x 9 =81

      不难发现,有以下规律:

      • 一共9行,最多9列
      • 每一行,有和行数相等的列数
      • 从上到下,分别是第1~9行;从左到右,分别是第1~9列
      • 每一行,单元格里的内容是行号 乘以 列号,这是一个循环

       

      我们先来输出,9行9列的每一个单元格

      for row in range(1, 10):
          for column in range(1, 10):
              if column == 9:
                  print('', row, '行第', column, '')
              else:
                  print('', row, '行第', column, '', end='')

       以上代码,输出:

      第 1 行第 1 列   第 1 行第 2 列   第 1 行第 3 列   第 1 行第 4 列   第 1 行第 5 列   第 1 行第 6 列   第 1 行第 7 列   第 1 行第 8 列   第 1 行第 9 列   
      第 2 行第 1 列   第 2 行第 2 列   第 2 行第 3 列   第 2 行第 4 列   第 2 行第 5 列   第 2 行第 6 列   第 2 行第 7 列   第 2 行第 8 列   第 2 行第 9 列   
      第 3 行第 1 列   第 3 行第 2 列   第 3 行第 3 列   第 3 行第 4 列   第 3 行第 5 列   第 3 行第 6 列   第 3 行第 7 列   第 3 行第 8 列   第 3 行第 9 列   
      第 4 行第 1 列   第 4 行第 2 列   第 4 行第 3 列   第 4 行第 4 列   第 4 行第 5 列   第 4 行第 6 列   第 4 行第 7 列   第 4 行第 8 列   第 4 行第 9 列   
      第 5 行第 1 列   第 5 行第 2 列   第 5 行第 3 列   第 5 行第 4 列   第 5 行第 5 列   第 5 行第 6 列   第 5 行第 7 列   第 5 行第 8 列   第 5 行第 9 列   
      第 6 行第 1 列   第 6 行第 2 列   第 6 行第 3 列   第 6 行第 4 列   第 6 行第 5 列   第 6 行第 6 列   第 6 行第 7 列   第 6 行第 8 列   第 6 行第 9 列   
      第 7 行第 1 列   第 7 行第 2 列   第 7 行第 3 列   第 7 行第 4 列   第 7 行第 5 列   第 7 行第 6 列   第 7 行第 7 列   第 7 行第 8 列   第 7 行第 9 列   
      第 8 行第 1 列   第 8 行第 2 列   第 8 行第 3 列   第 8 行第 4 列   第 8 行第 5 列   第 8 行第 6 列   第 8 行第 7 列   第 8 行第 8 列   第 8 行第 9 列   
      第 9 行第 1 列   第 9 行第 2 列   第 9 行第 3 列   第 9 行第 4 列   第 9 行第 5 列   第 9 行第 6 列   第 9 行第 7 列   第 9 行第 8 列   第 9 行第 9 列   

       

       实际上,这并没有达到我们想要的效果,因为九九乘法表是第一行只有一列,往下是每行增加一列,我们修改程序:

      for row in range(1, 10):
          maxColumn = row + 1
          for column in range(1, maxColumn):
              if column == row:
                  print('', row, '行第', column, '')
              else:
                  print('', row, '行第', column, '', end='')

       以上代码,输出:

      第 1 行第 1 列   
      第 2 行第 1 列   第 2 行第 2 列   
      第 3 行第 1 列   第 3 行第 2 列   第 3 行第 3 列   
      第 4 行第 1 列   第 4 行第 2 列   第 4 行第 3 列   第 4 行第 4 列   
      第 5 行第 1 列   第 5 行第 2 列   第 5 行第 3 列   第 5 行第 4 列   第 5 行第 5 列   
      第 6 行第 1 列   第 6 行第 2 列   第 6 行第 3 列   第 6 行第 4 列   第 6 行第 5 列   第 6 行第 6 列   
      第 7 行第 1 列   第 7 行第 2 列   第 7 行第 3 列   第 7 行第 4 列   第 7 行第 5 列   第 7 行第 6 列   第 7 行第 7 列   
      第 8 行第 1 列   第 8 行第 2 列   第 8 行第 3 列   第 8 行第 4 列   第 8 行第 5 列   第 8 行第 6 列   第 8 行第 7 列   第 8 行第 8 列   
      第 9 行第 1 列   第 9 行第 2 列   第 9 行第 3 列   第 9 行第 4 列   第 9 行第 5 列   第 9 行第 6 列   第 9 行第 7 列   第 9 行第 8 列   第 9 行第 9 列   

      到了这里,我们发现已经形式了,我们只要把每个单元格上的计算填充上去就OK啦

      for row in range(1, 10):
          maxColumn = row + 1
          for column in range(1, maxColumn):
              if column == row:
                  print(column, 'x', row, '=', column * row, ' ')
              else:
                  print(column, 'x', row, '=', column * row, ' ', end='')

       以上代码,输出:

      1 x 1 = 1  
      1 x 2 = 2  2 x 2 = 4  
      1 x 3 = 3  2 x 3 = 6  3 x 3 = 9  
      1 x 4 = 4  2 x 4 = 8  3 x 4 = 12  4 x 4 = 16  
      1 x 5 = 5  2 x 5 = 10  3 x 5 = 15  4 x 5 = 20  5 x 5 = 25  
      1 x 6 = 6  2 x 6 = 12  3 x 6 = 18  4 x 6 = 24  5 x 6 = 30  6 x 6 = 36  
      1 x 7 = 7  2 x 7 = 14  3 x 7 = 21  4 x 7 = 28  5 x 7 = 35  6 x 7 = 42  7 x 7 = 49  
      1 x 8 = 8  2 x 8 = 16  3 x 8 = 24  4 x 8 = 32  5 x 8 = 40  6 x 8 = 48  7 x 8 = 56  8 x 8 = 64  
      1 x 9 = 9  2 x 9 = 18  3 x 9 = 27  4 x 9 = 36  5 x 9 = 45  6 x 9 = 54  7 x 9 = 63  8 x 9 = 72  9 x 9 = 81  

       至此,大功告成。

       

      思考1:如果程序里只允许你出现一次print(),程序要怎么?下面给出答案,请尽量在自己写出来之前不要查看

      for row in range(1, 10):
          maxColumn = row + 1
          for column in range(1, maxColumn):
              endString = ' '  # 结束符
      
              if column == row:
                  endString = '\n'  # 以换行结束
      
              print(column, 'x', row, '=', column * row, ' ', end=endString)
      View Code

      思考2:可以看出来,上面的程序输出来的九九乘法表,有些列,上下是没有对齐的,怎么对齐?下面给出答案,请尽量在自己写出来之前不要查看

      for row in range(1, 10):
          maxColumn = row + 1
          for column in range(1, maxColumn):
              endString = ' '  # 结束符
              splitString = ' '  # 积和等号之间的分隔符,默认是空格
              num = column * row  # 乘积
      
              if num > 9:
                  splitString = ''
      
              if column == row:
                  endString = '\n'  # 以换行结束
      
              print(column, 'x', row, '=', splitString, num, ' ', end=endString)
      View Code

      思考3:如何把乘法表倒着输出?下面给出答案,请尽量在自己写出来之前不要查看

      rowsCount = 9  # 最大行
      
      while rowsCount > 0:
      
          maxColumn = rowsCount + 1
          for column in range(1, maxColumn):
              endString = ' '  # 结束符
              splitString = ' '  # 积和等号之间的分隔符,默认是空格
              num = column * rowsCount  # 乘积
      
              if num > 9:
                  splitString = ''
      
              if column == rowsCount:
                  endString = '\n'  # 以换行结束
      
              print(column, 'x', rowsCount, '=', splitString, num, ' ', end=endString)
      
          rowsCount -= 1
      View Code

       

      www.1click-soft.comtruehttp://www.1click-soft.com/Pythonjc/1284140.htmlTechArticlepython3 第八章,python3 前面我们在第四章的时候挖了个坑:怎么用优雅的方式来打印九九乘法表。这一章我们就来填上这个坑。 首先,我们...

      相关文章

      相关搜索: 八进制的

      帮客评论

      视觉看点
      百度 360 搜狗