zoukankan      html  css  js  c++  java
  • 打印九九乘法三角形的各种思路

    代码:

    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()

    结果:

     

     3、打印菱形

    规律:

    行号 星号的个数 左边空格的个数 规律
    1 1 3 星号的个数=7-空格的个数*2
    2 3 2 星号的个数=7-空格的个数*2
    3 5 1 星号的个数=7-空格的个数*2
    4 7 0 星号的个数=7-空格的个数*2
    5 5 1 星号的个数=7-空格的个数*2
    6 3 2 星号的个数=7-空格的个数*2
    7 1 3 星号的个数=7-空格的个数*2


    代码:


    for
    i in range(-3,4):   if i<0:     p=-i   else:     p=i   print(' '*p,'*'*(7-p*2))

    结果:

        *
       ***
      *****
     *******
      *****
       ***
        *

    感悟:对称和负数与整数的数字游戏有关
  • 相关阅读:
    P2604 [ZJOI2010]网络扩容
    P2053 [SCOI2007]修车
    P2045 方格取数加强版
    P4134 [BJOI2012]连连看
    P2153 [SDOI2009]晨跑
    P3381 【模板】最小费用最大流
    P3376 【模板】网络最大流
    P1326 足球
    2020牛客多校第八场I题 Interesting Computer Game(并查集+判环)
    Codeforces 1375D Replace by MEX(思维题)
  • 原文地址:https://www.cnblogs.com/mapone/p/12013174.html
Copyright © 2011-2022 走看看