• Po两段小代码,说几个小细节____关于九九乘法表&国际象棋棋盘


    # 欢迎拍砖、交流、指正

    # 九九(9*9)乘法表:

    code:

    for i in range(1, 10):
        j = 1
        while j <= i:   
            print("%d * %d = %2d" % (j, i, i * j), end=" ")
            j += 1
        print()

    1.上述代码使用 %2d  进行print的格式化输出;还有一个思路是使用制表符(\t),只需要将上述print语句修改如下:

    print("%d * %d = %d\t" % (j, i, i * j), end=" ")

    print("%d * %d = %d" % (j, i, i * j), end="\t")

    其实,“\t”就是 保持列对齐,从字符的最左侧开始,所以有些时候,字符太长,用“\t”会超出。

    运行结果如下:


    注意:  对齐的差异。总之,这两种方式都可以对齐,但是如果不做处理,运行的结果可能就是这样:


    细看之下,方可发现区别。


    demo2:turtle库绘制国际象棋棋盘

    绘制结果:             实话说,太像马赛克


    code:

    # 题目:要求输出国际象棋棋盘。
    import turtle as t
    
    t.hideturtle()
    t.speed(10)
    t.pu()
    t.goto(-100, -100)
    t.pd()
    color_list = ['black', 'white']
    for v_square in range(1, 9):
        for l_square in range(1, 9):  # 打印一行方块
            t.begin_fill()
            for line in range(1, 5):  # 打印一个方块
                t.fd(25)
                t.left(90)
            if l_square % 2 != 0:
                t.fillcolor(color_list[0])
            else:
                t.fillcolor(color_list[1])
            t.end_fill()
            t.up()
            t.fd(line * 25 / 4)
            t.pd()
        t.pu()
        t.goto(-100, (-100 + v_square * 25))
        t.pd()
        color_list[0], color_list[1] = color_list[1], color_list[0]
    t.done()

    细节如下:

            --1.几个循环嵌套的情况,内部的for循环很容易执行最后结果是迭代的最后一个数据,这里容易弄混,尤其再这个数据是大循环的某个变量的参数时。比如下列语句为何在程序中要”/4“,这里关于这个细节后续会写一个爬虫案例,来更好的演示。

    t.fd(line * 25 / 4)

            --2. python的变量标记的数据相互交换,不需要使用传统的”冒泡“法(引入一个空的变量c),只需要写出如下语句。此题用了列表的元素交换。这是python语言的简洁之处,实际上python这里是用了  tuple 的思想。

    a, b = b, a

            --3. 最好用speed方法设置绘制速,不然容易等哭。


  • 相关阅读:
    scrapy入门
    xpath的基本使用
    xpath 的用法
    线程同步
    Round #336 A. Saitama Destroys Hotel(Div.2)
    hdoj 1166 敌兵布阵(线段树and树状数组)
    hdoj 1873 看病要排队
    hdoj 2289 Cup
    hdoj 2689 Sort it
    hdoj 1150 Machine Schedule
  • 原文地址:https://www.cnblogs.com/xiegalpha/p/9231668.html
Copyright © 2020-2023  润新知