Skip to content

Latest commit

 

History

History
367 lines (250 loc) · 6.64 KB

041-1117934-print函数参数_结束符_end_换行符号.sy.md

File metadata and controls

367 lines (250 loc) · 6.64 KB
show version enable_checker
step
1.0
true

print函数参数_结束符_end_换行符号

回忆上次内容

  • 上次 我们了解了ASCII码表
    • ASCII 码表就是
      • American Standard Code for Information Interchange
    • 美国信息交换标准代码
  • ASCII 码表范围
    • 48-57 这个范围是 数字
    • 65-90 这个范围是 写字母
    • 97-122 这个范围是 写字母
    • 符号穿插其中

图片描述

  • 我们可以自己做个
    • 一屏看完的
    • ASCII码表 吗 ??🤔

目前状态

for num in range(128):
    print(num, chr(num), sep=":")
  • 目前结果

图片描述

  • 问题就是
    • 结束的位置 总会
    • 自动换行
  • 取消 自动换行 吗?

查询帮助

图片描述

  • 从底行命令模式
    • 执行vim外部的命令
      • python
      • 进入游乐场
help(print)
  • 查询print函数的帮助

图片描述

结束字符串end

  • print函数
    • 有一个参数
      • 叫做end
    • 作用是结束时输出的字符串

图片描述

  • end 的默认值 为 \n
    • \n 是什么意思呢?

尝试换行符

  • q
    • 退出 帮助状态
    • 回到游乐场
print("abc\n123")
ord("\n")
  • \n 是一个字符
    • 可以起到 换行 作用

图片描述

  • 这个10号对应什么字符呢?

对应字符

  • 10号字符为
    • LF

图片描述

  • 具体含义 是什么意思呢?

LF

  • 搜索 LF+ascii

图片描述

  • LF为换行
    • LineFeed

end

  • 参数end默认值为
    • \n
    • 换行LF
print("abc")
print("abc",end="\n")
  • 运行结果
    • abc后面回车的原因是因为
      • 结束符end默认值为\n

图片描述

  • 如果 将 end的值
    • 从 结束符 变成 空串 呢?

空串

  • 由于end的值
    • 从 结束符 变成 空串
print("abc",end="")
  • abc 直接把大于号顶出来了

图片描述

特殊结束符

print("abc",end="\n123")
  • abc之后输出换行符
    • 再之后输出123
    • 将提示符>>>顶出

图片描述

  • 将end参数

    • 设置为逗号(,)
    • 应该就可以不换行了?
  • ctrl + d

    • 从 游乐场
    • 退回到vim

修改代码

  • 修改程序
for num in range(128):
    print(num, end = ",")
  • range(128)
    • 循环范围是[0,128)
    • 前闭后开

图片描述

  • 128 刚好是
    • 从0 到 27

修改代码

for num in range(128):
    print(num, chr(num), sep=":", end=",")
  • 输出结果

图片描述

  • 都堆到一起了
    • 看不清

制表符\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")
  • 执行结果

图片描述

整体结构

  • 第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")
      • 虽然没有输出任何字符
      • 但是有回车换行的效果
  • print前面 需要进行更深层的缩进
    • 2个tab
    • 或者 8个空格
      • 才能让print()这句话
      • 归 if语句 管着

运行结果

图片描述

  • 很像ascii

图片描述

  • 可以只输出 字符
    • 不输出 序号 吗?

结果

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

图片描述

黑暗丛林

  • 上面 黑了一大片
    • 好像黑暗丛林

图片描述

  • 林子看起来很神秘
    • 黑暗区域 很危险
    • 以后来探索一番

总结

  • 这次了解了
    • print函数中的另一个参数
      • end 结束符
        • 默认是 换行符\n
      • 可以换成任何字符串

图片描述

  • 尝试使用
    • 循环语句、条件语句
    • 使用缩进控制范围
    • 输出了ASCII码表
  • 序号 不断增大
    • 字符 不断变化
  • python是如何应对变化的呢??🤔
  • 我们下次再说👋