[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent

043_自己制作的ascii码表_循环语句_条件语句_缩进

自己制作的ascii码表_循环语句_条件语句_缩进_indent

回忆上次内容

图片描述

  • 上次了解了

    • print函数中的另一个参数

      • 结束符 end
      • 默认是 换行符\n

图片描述

  • 可以输出ascii码表吗??🤔

上次代码

  • 将end参数

    • 设置为逗号(,)
for num in range(128):
    print(num, end = ",")
  • range(128)

    • 循环范围是[0,128)
    • 前闭后开

图片描述

  • 128 刚好是

    • 从0 到 27
    • 7-bit

准备战斗

  • ctrl + d

    • 从 游乐场
    • 退回到vim
vi ascii.py
  • 用vi 编辑ascii.py

输出字符

  • 不光要输出序号

    • 而且要输出字符
for num in range(128):
    print(num, chr(num), sep=":", end=",")
  • 对于128以内的每一个num

    • 输出数字和所对应的字符
    • 分隔符用冒号
    • 结束符用逗号

图片描述

  • 都堆到一起了

    • 看不清

制表符\t

for num in range(128):
    print(num, chr(num), sep=":", end="\t")
  • 将结束符

    • 改成'\t'

图片描述

  • '\t' 是制表符

    • table

效果

  • 分开了

    • 但是换行位置
    • 有点瑕疵

图片描述

  • 希望 逢八换行
  • 怎么保证 逢八换行 呢?

认识取余运算

  • 回到游乐场
:!python3 
  • %符号是取余运算符
15 % 8
16 % 8
17 % 8
  • 15 除 8 余 7
  • 16 除 8 余 0
  • 17 除 8 余 1

图片描述

对于余数判断

  • 余数为零吗?
15 % 8 == 0
16 % 8 == 0
17 % 8 == 0
  • True为真
  • False为假

图片描述

条件语句

  • 如果 num 能 被8整除

    • 就输出 换行
    • print()
for num in range(0, 128):
    if num % 8 == 0:
        print()
        print(num, chr(num), sep=":", end="\t")

执行结果

  • 逢八应该只输出换行

图片描述

  • 字符本该每轮都输出的

    • 现在也都逢八才输出了
for num in range(0, 128):
    if num % 8 == 0:
        print()
        print(num, chr(num), sep=":", end="\t")
  • 条件if不该控制输出字符

    • 让最后一句往前走
    • 不归if控制

控制结构

for num in range(0, 128):
    if num % 8 == 0:
        print()
    print(num, chr(num), sep=":", end="\t")
  • 逢八只输出换行

图片描述

理解结构

  • 第2、3、4行

    • 都是 第1行 for的 循环体
    • 从属于 第1行
    • 每个字符序号 都得循环

图片描述

  • 注意if语句

    • 归 for循环管
    • 属于 循环体的一部分
    • 缩进在 for循环的 范围内

if语句

  • if语句结尾处

    • 要有一个冒号(:)
    • 意味着 下面缩进的

      • 都归if管
      • 都是 if语句的 条件体

图片描述

  • if 的条件是

    • num % 8 == 0
    • 意思是 num 除8余0 时

      • 才执行 if 对应的条件体
  • if对应的条件体 是

    • print()

      • 相当于 print(end="\n")
      • 虽然没有输出任何字符
      • 但是有回车换行的效果
  • if条件满足时

    • 只输出换行
  • 换行这句

    • 需要进行更深层的缩进
    • 2个tab

      • 才能让print()这句话
      • 归 if语句 管着

运行结果

图片描述

  • 很像ascii

图片描述

  • 可以只输出 字符

    • 不输出 序号 吗?

结果

for num in range(0, 128):
    if num % 8 == 0:
        print()
    print(chr(num), end="\t")
  • 结果

图片描述

黑暗丛林

  • 上面 黑了一大片

    • 好像黑暗丛林

图片描述

  • 林子看起来很神秘

    • 黑暗区域 很危险
    • 以后来探索一番

总结

  • 这次做出了ascii码

图片描述

  • 通过 控制缩进 完成

    • 循环结构
    • 条件结构
  • 循环变量 num

    • 序号 不断增大
    • 字符 不断变化
  • python 如何表示

    • 现实生活中的 变化 呢??🤔
  • 我们下次再说👋

• 蓝桥->​​oeasy 教您玩转 python_Python - 蓝桥云课​​
• github->​​https://github.com/overmind1980/oeasy-python-tutorial​​
• gitee->​​oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值