代码情诗——一份真情请查收

  • 有意参加了一个叫做“代码情诗”的比赛,做做记录。在这恍惚之日,寻求一丝宁静。
  • 课余时间随便玩玩,大神路过不必在意。写博客记录只希望对需要帮助的人有所帮助

创意参考: https://www.taitaiblog.com/1314.html

大体框架:

  1. 控制台动态闪现书面内容,抒情自然
  2. 主题Patient ,逐步打印字符画
  3. turtle画爱心(代码来源于上面给出的参考链接)
  4. 控制台打印二维码,扫描可见文字内容

1. 控制台动态打印书面内容

  • 在控制台中,每一行的打印是同时的,而要做到一个字一个字的打印,就要时刻清除缓冲区。
  • 控制好sleep时间,效果就会更好

print("This is My love, without any cover up, without any reservations to say it
")
time.sleep(1)
#字符串内容
str = [
    "You may have heard a story.
",
    "One day the girl asked the boy, what does ABCDEFG mean? 
",
    "The boy replied, "a boy can do anything for a girl"
",
    "The girl was touched
",
    "But someone told her, Don't forget the HIJK——"He is just kidding"
",
    "The girl replied: It doesn't matter even if he cheats me, there's LMNOP behind it
",
    ""Love Must Need Our Patience"
"
]
print("")
for i in range(7):
    for j in range(len(str[i])-1):
        #单个字符的延迟时间
        time.sleep(0.07)
        print(str[i][j],end = '')
        sys.stdout.flush()#清除缓冲区
    time.sleep(0.5)#行与行的延迟时间
    print("
")

2. 主题Patient ,逐步打印字符画

  • 一个简易的进度条,比较丑陋
  • 字符画(有很多可以用图片转字符串的工具,或者用代码写也可以)打印,与上面同理
print("So, please let us wait patiently")
    for i in range(20):
        sys.stdout.write("=")
        sys.stdout.flush()
        time.sleep(0.5)
pic = [
        "...................................................................................................",
        ".................................................................................*.,*..............",
        "......................................................................./@@@@@@@`@@@@@@@@`..........",
        ".....................................................................*@@O\O@@@@@@@@/`*[@@`.........",
        ".....................................................................=@/.=@@@@@^,@@@@]]@@^.........",
        ".....................................................................=@@/@@@O@@@@@@@@@O@@^.........",
        ".............................]]@@@@@@@@@@@@@@@@@\`...................,@@@O`*@@@@@@@@@@@@@^.........",
        ".......................]@@@@@@@@@@@@@@@@@@@@@@@@@@@@\`................*\@@@@@@@@/`=@@@@@`..........",
        "...................,@@@@@@/[`...................[@@@@@@\................*[@@@@@OO@@@@@[............",
        "................,@@@@/*..*..........................\@@@@@`.................*\O,O@@`.*.............",
        "............../@@@[..............................,`...,@@@@\.................*.....................",
        "............/@@/........................................,@@@@`.....................................",
        "........../@@`............................................[@@@^.........,......,@].................",
        ".........@@^...............................................,@@@^........=^.......*,................",
        ".......,@@...................................................@@@^.......,^.......=....=^...,@......",
        "......,@/.....................................................@@@`......=@^..[\..=`...=^..,/@......",
        "......@^......................................................,@@@.......^*.../`.=^....@]/`.\......",
        ".....@@........................................................=@@^.....*,[[*....,`.....*..........",
        "....,@@.......................................,\`...............@@@................................",
        "....=@\....................]@@`...............@@@@`.............=@@`...............................",
        "....=@^....................@@@@/..............,@@@...............@@^...............................",
        "....=@@....................,@\.....................O@@@`........@@^...............................",
        "....=@@............................................=@@@O.........@@^...............................",
        "....=@@..............*]@@]`..........................,`..........\@^...............................",
        "....=@@^.............@@@@@^......................................@@^...............................",
        ".....@@@..............***........................................@/..........@@@@@@`...............",
        ".....=@@^.......................=@\`......,@@@..................=@`.........=@@@@@@@`..............",
        "......@@@`......................@@@@@@@@@@@@/`.................=@`..........=@@@`@@@@..............",
        "......,@@@........................[@@@@@@/`...................=@`...........=@@@.\@@@`..,]]]]],....",
        ".......=@@@................................................../@`............=@@@^=@@@@@@[@@@@`.....",
        "........=@@@`...........................................,../@@*.............=@@@^*..**,@@@@........",
        ".........=@@@\*.........................................,@@@/............*]@@@@@^......./@@^.......",
        "..........,@@@@`......................................,@@@[.......]]/@@@@@@@@@/`......./@@@`.......",
        "............\@@@@\`...............................*./@@@@@@@@@@@@@@@@@@@@@[...,,@@@@@@@@@@^........",
        "..............\@@@@@@^.............................=@/=@@@@@@@@@@/[[`.......,/@@@@@`,[@@/`.........",
        ".................[@@/.............................*.*.*...................]@@@@@/`.................",
        "...................].................................................,]@@@@@@@`....................",
        "..................,@@@^..................................`.......,/@@@@@@@@/.......................",
        "................../@@@`.................................*=@@@@@@@@@@@@[............................",
        "................./@@@^....................................@@@@@@@/[................................",
        "................=@@@^.....................................\@@@^....................................",
        "..............*=@@@/......................................=@@@^....................................",
        "...............@@@@......./@@@@`...........................@@@@....................................",
        "............../@@@`...*,@@@@@@^............................@@@@....................................",
        ".............=@@@/.../@@@@/@@@^............................O@@@....................................",
        ".............@@@@.,@@@@@`.,@@@^...........................**.......................................",
        "............=@@@@@@@@/.....@@@@....................................................................",
        ".............[@@@@[................................................................................",
        "...................................................................................................",
    ]
    # 动态打印字符画
    print("")
    for i in range(49):
        for j in range(len(pic[i])-1):
            time.sleep(0.001)
            print(pic[i][j],end='')
            sys.stdout.flush()
        print("")

3.turtle画爱心(代码来源于上面给出的参考链接)

#画爱心的圆弧部分
def hart_arc():
    for i in range(200):
        turtle.right(1)
        turtle.forward(2)

# 移动turtle
def move_pen_position(x,y):
    turtle.hideturtle()
    turtle.up()
    turtle.goto(x,y)
    turtle.down()
    turtle.showturtle()
#love 为爱心中间的字符串 
love = 'My Love'
#画爱心
turtle.setup(width = 800,height = 500)
turtle.color('red','pink')
turtle.pensize(3)
turtle.speed(1)
move_pen_position(x=0,y=-180)
turtle.left(140)
turtle.begin_fill()
turtle.forward(224)
hart_arc()
turtle.left(120)
hart_arc()
turtle.forward(224)
turtle.end_fill()
move_pen_position(0,0)
turtle.hideturtle()
turtle.color('#CD5C5C','pink')
turtle.write(love,font = ('Arial',30,'bold'),align = 'center')
move_pen_position(0,-220)
turtle.hideturtle()
#画个心,心里面装的都是你

turtle.write("I have somehing to tell you, 
it is hidden in the two-dimensional code, 
please close this window",font = ('Arial',11,'bold'),align = 'center')
turtle.done()

4.控制台打印二维码,扫描可见文字内容

  1. 由于能力受限,二维码是由一个二维数组构成的(33*33)
#include <bits/stdc++.h>
using namespace std;
int a[35][35] = {
    {1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1},
    {1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,1},
    {1,0,1,1,1,0,1,0,1,0,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,0,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1},
    {1,1,1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1},
    {0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0},
    {1,1,1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,1},
    {1,1,0,0,1,1,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0},
    {0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,0,0,1,1,1,0,1,1,0,0},
    {1,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,1,0,1,0,1,0,1},
    {1,0,0,0,1,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1,0},
    {1,0,1,0,1,0,0,0,0,0,1,1,0,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,1,0,0,0,0},
    {1,1,0,1,1,1,1,0,1,0,1,0,1,0,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1},
    {0,1,0,1,0,1,0,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,0},
    {1,1,0,1,0,0,1,0,1,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1},
    {0,1,1,0,1,0,0,1,1,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1},
    {1,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,0,0,1,1,0,1,0,1},
    {1,0,0,0,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,1,1,1},
    {1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,1,1,1,1,0,1,1,1,0,0,1,0,0,1,1,0,1},
    {1,0,1,0,1,0,0,0,1,1,0,0,1,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,1,0,1,1},
    {0,0,1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,0,0},
    {0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,0,0,0,1,1,0},
    {1,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,0,1,1,1,1,0,1,0,1,1,1,1,1,0,1,1,0},
    {0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0},
    {1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0},
    {1,0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,0},
    {1,0,1,1,1,0,1,0,1,0,1,0,0,0,1,0,1,1,0,0,1,1,0,1,0,1,1,1,0,1,0,0,1},
    {1,0,1,1,1,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
    {1,0,0,0,0,0,1,0,1,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,0,1,1,1,0,1},
    {1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,0,0,0,0}
};
int main(){
    unsigned int block = 32936;
    system("color f0");
    puts("");
    for(int i=0;i<33;i++){
        for(int j=0;j<33;j++){
            if(a[i][j])printf("%s",&block);
            else printf("  ");
        }
        puts("");
    }
    getchar();
    return 0;
}
  • 然后python调用
s = "QRcode.exe"
r_v = os.system(s)
print(r_v)
原文地址:https://www.cnblogs.com/1625--H/p/10705763.html