Skip to content

Latest commit

 

History

History
259 lines (211 loc) · 7.48 KB

File metadata and controls

259 lines (211 loc) · 7.48 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0151
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

比较运算符

回忆

  • 单个的 if
    • 是单分支结构
  • if - else
    • 是双分支结构
  • else 和 if 配对的
    • 满足 if条件
      • 就运行 if
    • 不满足 if条件
      • 就运行 else

图片描述

  • 来做个好玩的艺术

准备狐狸

  • 安装cowsay
yes | sudo apt install cowsay
  • 运行cowsay -f 空格
    • 按下tab

图片描述

  • 查看所有asciiart

选择狐狸🦊

  • 🦊
cowsay -f fox "what"
  • 选择狐狸

图片描述

保存狐狸

  • 把fox输出重定向
    • 到f.py
cowsay -f fox "what" > f.py
  • 然后 前后加上三引号
    • 进行输出

图片描述

  • 拷贝后注意反斜杠数量

尝试输出

  • 输出结果 有点问题

图片描述

  • 需要将反斜杠转义

转义问题

  • 解决\的问题
    • :4,$s/\\/\\\\/g
      • : 执行命令行模式
      • % 对所有行执行命令
      • s 执行的是替换命令
      • \\ 代表一个反斜杠
      • \\\\ 换成两个反斜杠
      • g 代表global 每一行中所有的匹配项都替换

图片描述

输出效果

图片描述

  • 想要狐狸摇尾巴

动画

import time
flag = 0
while True:
    flag = flag + 1
    flag = flag % 2
    print("\033[2J")
    if flag == 0:
        print("""
 ______
< what >
 ------
         \\     ,-.      .-,
          \\    |-.\\ __ /.-|
           \\   \\  `    `  /
                /_     _ \\
              <  _`q  p _  >
              <.._=/  \\=_. >
                 {`\\()/`}`\\
                 {      }  \\
                 |{    }    \\
                 \\ '--'   .- \\
                 |-      /    \\
                 | | | | |     ;
                 | | |.;.,..__ |
               .-"";`         `|
              `-../____,..---'`
              """)
        time.sleep(0.5)
    else:
        print("""
 ______
< what >
 ------
         \\     ,-.      .-,
          \\    |-.\\ __ /.-|
           \\   \\  `    `  /
                /_     _ \\
              <  _`q  p _  >
              <.._=/  \\=_. >
                 {`\\()/`}`\\
                 {      }  \\
                 |{    }    \\
                 \\ '--'   .- \\
                 |-      /    \\
                 | | | | |     ;
                 | | |.;.,..__ ````````````\\
                 | | |.| |     ,          /
                  U U   U U    ````__._..__``
              """)
        time.sleep(0.5)
  • 是不是 只能 用cowsay给的图形
    • 做动画呢?

并不是的

  • 可以做
    • 自己的asciiart

图片描述

  • 好玩 快来试试

代码

  • 过程也不难
    • 上传两个图
    • 转化成txt
    • 然后两帧抖动就可以
import time
i = 0;
while True:
    i = i + 1;
    print("\033[2J",end="")
    if i%2==0:
        print("""
          000000000000000000000000000000000000000000000000000000000001
          00000P^     ?*0000#Y!Q#mwawwwm#9!*#0000000RHN#00000000000001
          0000'  .      -Qaj#00000###0000000majP*!       ?4#0000000001
          000(         _#0000P^ :=34#0000#WXVN###a         "#000#00001
          000        _d0000#G;x3XXOXQ#0##WWWga]XQN#,.       4##00000#1
          000,      _000B9!]]]?*3XX3d#0#W######mUmd#;       =#00000001
          000A     _000#>;__aaaaa_dWW00#0BXqr:?!NWWd#L      j000000#01
          00000a, a0000WW##WWmmwW###00000#W#Q#WWgWWW40L    a##00000001
          000000Pj##0000000000000##0000000#0##00000##001_W###0#9Q0#001
          00000#\##000000000000##0000000000000000000000#?0000!   4#001
          00000Pj#0000000#0#0#00WO*N#0##00#W#00000#00000;000'.   ?#001
          000#0l#000000#0#####00#0WaWmgmm#00W##000000000L4W{     j#001
          00000'000000000###WUO*HXHNW#0000000##000000#00WjY      W#001
          00000=000000000000#,jWWWmgmWmWWWU!##0000#0000#Dj`      0P4#1
          00000i#00000#00#000A;~^"?!!!!!!*!a#0000000000#l"          N1
          000#0A?#000000000000#gaaaaaa_=_a#000000#Y!^              .#1
          000000L/000#000000000#W#########0B!!!`     .            _#01
          0000000#v!!00000#00000#0W9!9^~--    .                aW00001
          00000000P'  ?!40000P!!`                            a#0000001
          0000#00P                                         _d000000001
          000000t                                         ;40000#00001
          0000#FJga                                     _WW 00000000#1
          0000@=00#0w,                                 d000,4#00000#01
          000#(#0000#0a                              _W0000Lj#000#0001
          0000000000000La,                     _aaaaW00000000000000001
    """)
    else:
        print("""
          000000000000000000000000000000000000000000000000000000000001
          00000P^     ?*0000#Y!Q#mwawwwm#9!*#0000000RHN#00000000000001
          0000'  .      -Qaj#00000###0000000majP*!       ?4#0000000001
          000(         _#0000P^ :=34#0000#WXVN###a         "#000#00001
          000        _d0000#G;x3XXOXQ#0##WWWga]XQN#,.       4##00000#1
          000,      _000B9!]]]?*3XX3d#0#W######mUmd#;       =#00000001
          000A     _000#>;__aaaaa_dWW00#0BXqr:?!NWWd#L      j000000#01
          00000a, a0000WW##WWmmwW###00000#W#Q#WWgWWW40L    a##00000001
          000000Pj##0000000000000##0000000#0##00000##001_W###00000#001
          00000#\##000000000000##0000000000000000000000#?0000000000001
          00000Pj#0000000#0#0#00WO*N#0##00#W#00000#00000;0000000000001
          000#0l#000000#0#####00#0WaWmgmm#00W##000000000L4W00000000001
          00000'000000000###WUO*HXHNW#0000000##00#^     !j#00000000001
          00000=000000000000#,jWWWmgmWmWWWU!##0000,       "!00P!N00001
          00000i#00000#00#000A;~^"?!!!!!!*!a#000000,         "   40001
          000#0A?#000000000000#gaaaaaa_=_a#000000#Y!             j#001
          000000L/000#000000000#W#########0B!!!`                 #0001
          0000000#v!!00000#00000#0W9!9^~--    .                a000001
          00000000P'  ?!40000P!!`                            a#0#00001
          0000#00P                                         _d0#0000001
          000000t                                         ,40000000001
          0000#FJga                                     _WW 0000000001
          0000@=00#0w,                                 d000;4#0000#001
          000#(#0000#0a                              _W0000Lj#00000001
          0000000000000La,                     _aaaaW00000000#000#0001
        """)
    time.sleep(0.5)
  • 两帧抖动 分奇偶
    • 奇数帧 一样
    • 偶数帧 另一样

总结

  • 这次制作了 if - else的例子
    • 狐狸摆尾巴
    • 也可以自己 做两帧抖动

图片描述

  • 在哪里呢?
    • 为什么叫odd?
  • 数又在哪里呢?
    • 为什么叫even?
  • 下次再说 👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。