[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent

040_缩进几个字符好_输出所有键盘字符_indent

缩进几个字符好?

  • 上次 研究了range函数

    • 根据range函数的结果
    • 生成了for循环
  • 可以输出

    • 从start
    • 到end - 1
    • 所有的数字
  • 想要 循环输出

    • 必须得缩进吗?
复制代码
for num in range(ord('A'), ord('Z')+1):
    print(num,chr(num))
  • 不缩进会如何呢?🤔

编写程序

复制代码
vi indent.py
  • 我要看看所有的字符

    • range(0, 123)
    • 从 0 开始
    • 到 ord("z") 结束
复制代码
for num in range(0, 123):
    print(num)
  • 按"+P将代码粘贴
复制代码
:w|!python3 %
  • 保存并运行当前文件

再看代码

  • 第 1 行

    • 使用了for循环
    • 循环变量为num
    • 让 num 从 0 到 123
    • 挨个循环
复制代码
for num in range(0, 123):
    print(num)
  • 第 2 行

    • 是 第一句for循环的 循环体

      • 需要缩进到里面
      • 归for语句统领
    • 每次循环的过程中

      • 输出n这个数字
  • 第2行 非 缩进不可 吗?
  • 缩进 能怎么着??😠

缩进问题

  • 尝试把第二行的缩进去掉
复制代码
for num in range(0, 123):
print(num)
  • 运行结果
  • 程序出现了 IndentationError

    • 这是继 NameError、TypeError之后的
    • 又一种新的 Error类型

提问

  • 拿报错信息问问ai
  • 缩进必须得有!

  • 缩进说明

    • 本行是 for循环的 循环体
    • 归for语句管
  • 只 缩进个字符

    • 可以吗?🤔

缩进数量

  • 按i进入插入模式

    • 退格修改代码
    • 只 缩进个空格
复制代码
for num in range(0, 123):
 print(num)
  • 这个程序可以运行吗?🤔

运行

  • esc

    • 退出插入模式
  • :⬆️enter

    • 找到之前的底行命令
  • 可以运行

修改缩进数量

  • 按i进入插入模式

    • 缩进增加到 八个空格
复制代码
for num in range(0, 123):
        print(num)
  • 缩进一个和八个

    • 都可以正确运行
  • 缩进几个字符

    • 合适 呢?

问问ai

  • ai 说最好四个空格

    • 我想到了一个按键

移动位置

  • 先用u键

    • 把程序 恢复回来
  • 将 光标移动到 第二行第一个字符

    • 按i进入插入模式
  • 使用键盘中的Tab
  • 缩进刚好 4字符
  • 再按Tab

    • 又缩进4字符
  • Tab是什么意思呢?

TAB

  • TAB键来自于table

    • 意思是制表符
  • 具体写作\t

    • 来自table
  • 有文件明确要求

    • python 需要缩进 4个空格吗?

对齐

  • 明确要求

    • 4个字符进行缩进
    • 要保证对齐

书写风格

  • 我们按照这种书写风格

    • 写python
  • 四个字符

四个字符

  • 1个Tab

    • 对应 4个空格
    • 是 python缩进的 标准
  • Tab之后

    • 光标位于
    • 第2行,第5个字符
  • esc

    • 退出插入模式
    • 准备运行

运行结果

  • :w|!python3 %

    • 执行底行命令

      • 保存
      • 并 用python3 运行当前程序
  • 可以拖动侧面滚动条

    • 翻看输出结果
  • 从0到122都输出了一遍

    • 为什么range(0,123)
    • 只输出 到122 来着?

查询帮助

  • 从 底行命令模式

    • 直接!python3
    • 进入游乐场
  • 查询 range函数 的帮助

帮助内容

  • 起始位置 start

    • 默认值为 0
    • 可以省略
  • 结尾部分 stop

    • exclusive
    • 不包括
  • q

    • 退出帮助
  • quit()

    • 退出游乐场
  • Enter回车

    • 回到vim

修改代码

复制代码
for num in range(123):
    print(num)
  • 运行结果

    • 序号范围 已经ok
  • 可以把

    • 序号和对应字符
    • 都输出吗?

修改代码

复制代码
for num in range(123):
    print(num, chr(num),sep=":")
  • 运行结果
  • 大写和小写字母之间

    • 夹杂着 一些标点

编码规律

  • 键盘上能输入的字符

    • 除 大小写字母 之外
    • 还有 标点 和 数字
  • 这些字符应该

    • 有序号
    • ordinal

字符全排列

  • 统计数量

    • 大小写各26
    • 数字10
    • 各种符号 40个左右
  • 26 * 2 + 10 + 40

    • = 102
  • 找来找去也没有找到

    • 竖线符号(|)?

总结

  • 这次 输出了

    • 从0到122 序号 对应的所有字符
复制代码
for num in range(123):
    print(num, chr(num),sep=":")
  • 字符类型包括

    • 数字
    • 大小写字母
    • 符号
相关推荐
Once_day9 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
喜欢喝果茶.28 分钟前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
亓才孓29 分钟前
[Class类的应用]反射的理解
开发语言·python
努力学编程呀(๑•ี_เ•ี๑)29 分钟前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
小镇敲码人38 分钟前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
island13141 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了1 小时前
Java中的集合
java·开发语言
摘星编程1 小时前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶1 小时前
Python 项目版本控制
开发语言·python
lili-felicity1 小时前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python