zoukankan      html  css  js  c++  java
  • 打印九九乘法表,左下角、右上角、左上角、右下角,使用列表推导式

    左下角

    # 这种情况最简单,列数<=行数,从左边打印即可
    for i in range(1, 10):
        for j in range(1, 10):
            if j <= i:
                print('{}x{}={}'.format(j, i, i*j), end='	')
        print()
    
    for i in range(1, 10):
        for j in range(1, i+1):
            print('{}x{}={}'.format(j, i, i*j), end='	')
        print()
    
    # 使用列表推导式
    print('
    '.join(['	'.join(['{}x{}={}'.format(j, i, i*j) for j in range(1, i+1)]) for i in range(1, 10)]))
    
    1x1=1
    1x2=2   2x2=4
    1x3=3   2x3=6   3x3=9
    1x4=4   2x4=8   3x4=12  4x4=16
    1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
    1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
    1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
    1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
    1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81
    

    右上角

    # 把每一行都当做一整个字符串,从左边打印,然后格式化到右边对齐
    for i in range(1, 10):
        for j in range(1, i+1):
            print('{}x{}={:<{}}'.format(j, i, i*j, 2 if j<2 else 3), end='')
        print()
    
    # 先打印空白部分,再打印字符部分
    for i in range(1,10):
        for m in range(1, i):
            print(end='	')
        for n in range(i, 10):
            print('{}x{}={}'.format(i, n, i*n), end='	')
        print()
    
    1x1=1   1x2=2   1x3=3   1x4=4   1x5=5   1x6=6   1x7=7   1x8=8   1x9=9
            2x2=4   2x3=6   2x4=8   2x5=10  2x6=12  2x7=14  2x8=16  2x9=18
                    3x3=9   3x4=12  3x5=15  3x6=18  3x7=21  3x8=24  3x9=27
                            4x4=16  4x5=20  4x6=24  4x7=28  4x8=32  4x9=36
                                    5x5=25  5x6=30  5x7=35  5x8=40  5x9=45
                                            6x6=36  6x7=42  6x8=48  6x9=54
                                                    7x7=49  7x8=56  7x9=63
                                                            8x8=64  8x9=72
                                                                    9x9=81
    

    左上角

    for i in range(1, 10):
        for j in range(i, 10):
            print('{}x{}={}'.format(i, j, i*j), end='	')
        print()
    
    1x1=1   1x2=2   1x3=3   1x4=4   1x5=5   1x6=6   1x7=7   1x8=8   1x9=9
    2x2=4   2x3=6   2x4=8   2x5=10  2x6=12  2x7=14  2x8=16  2x9=18
    3x3=9   3x4=12  3x5=15  3x6=18  3x7=21  3x8=24  3x9=27
    4x4=16  4x5=20  4x6=24  4x7=28  4x8=32  4x9=36
    5x5=25  5x6=30  5x7=35  5x8=40  5x9=45
    6x6=36  6x7=42  6x8=48  6x9=54
    7x7=49  7x8=56  7x9=63
    8x8=64  8x9=72
    9x9=81
    

    右下角

    # 与第二种类似
    for i in range(1, 10):
        for m in range(1, 10-i):
            print(end='	')
        for n in range(1, i+1):
            print('{}x{}={}'.format(i, n, i*n), end='	')
        print()
    
                                                                    1x1=1
                                                            1x2=2   2x2=4
                                                    1x3=3   2x3=6   3x3=9
                                            1x4=4   2x4=8   3x4=12  4x4=16
                                    1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
                            1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
                    1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
            1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
    1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81
    
  • 相关阅读:
    【转】正确设置php-fpm子进程用户,提高网站安全性防挂马
    Linux修改SSH端口,并禁止Root远程登陆
    [转]PHP5 session 详解
    【转】PHP调试开发工具你认识多少?
    [转]浅谈php web安全
    【笔记】InnoDB内存分配
    【转】推荐介绍几款小巧的Web Server程序
    【转】定时自动启动任务crontab命令用法
    Tornado笔记
    Python笔记:open函数和with临时运行环境(文件操作)
  • 原文地址:https://www.cnblogs.com/keithtt/p/9419866.html
Copyright © 2011-2022 走看看