[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=":")
  • 字符类型包括

    • 数字
    • 大小写字母
    • 符号
相关推荐
FYKJ_20103 小时前
springboot助农产品销售商城05829-计算机课程设计、毕业设计
java·spring boot·python·mysql·spark·django
Yunovian3 小时前
AI时代,针对模型与应用,浅谈一下各编程语言
开发语言·c++·人工智能·python·ai·rust·ai编程
weixin_457760003 小时前
基于 YOLO11m-Pose 的动物姿态估计系统:从 Animal-Pose 标注到 Python 桌面部署
人工智能·python·深度学习
Ticnix4 小时前
RAG 烂大街?烂大街的只是那条流水线——真正的分水岭在这五处
后端·python·agent
Wx-bishekaifayuan4 小时前
springboot社区扶贫救助管理系统13300-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
周杰伦fans4 小时前
构建真正智能的CAD AI绘图代理
开发语言·人工智能·c#
小小张说故事4 小时前
LightGBM 入门指南:更快的梯度提升树,Python 实战
后端·python·机器学习
Ticnix4 小时前
RAG 检索不准,九成的锅不在向量——不同文件,就该有不同的入库方案
后端·python·agent
jerryinwuhan5 小时前
python快速入门第二周
python
IT毕设梦工厂5 小时前
计算机毕业设计选题推荐:基于大数据的供应链数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计