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

    • 数字
    • 大小写字母
    • 符号
相关推荐
2601_962293245 小时前
Python自动化统计团队工作量并生成可视化仪表盘的脚本方案【指导】
python·数据分析·自动化·可视化·仪表盘
点心的游戏开发世界5 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
2601_962293796 小时前
OCRmyPDF批处理脚本:使用Python自动化复杂OCR任务
python·自动化·批处理脚本·ocrmypdf·ocr任务
事圆则缓7 小时前
Kotlin 协程完全指南
开发语言·kotlin
我爱写代码i7 小时前
BeLink - 支持生成多种URL 缩短网址PHP源码
开发语言·php·短网址php源码
Java后端的Ai之路7 小时前
20、Python - 备忘录模式
开发语言·人工智能·python·外观模式·备忘录模式
2601_962077718 小时前
基于Python与NLP的新闻事件信息抽取实战:从NER到时空标准化
python·nlp·transformers·spacy·新闻事件抽取
JavaPub-rodert8 小时前
LangChain 从入门到 Agent 实战:用 Python 搭建一个真正能调用工具和知识库的 AI 助手
人工智能·python·langchain
统计学小王子8 小时前
数学建模国赛倒计时4天——《统计模型精讲(混合效应模型R语言实现)》
开发语言·数学建模·r语言
知无不研8 小时前
c语言中循环的介绍与简单应用
c语言·开发语言·算法·循环·for·while