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

    • 数字
    • 大小写字母
    • 符号
相关推荐
DanCheng-studio5 分钟前
网安毕业设计简单的方向答疑
python·毕业设计·毕设
踢球的打工仔35 分钟前
PHP面向对象(7)
android·开发语言·php
轻抚酸~42 分钟前
KNN(K近邻算法)-python实现
python·算法·近邻算法
独行soc2 小时前
2025年渗透测试面试题总结-264(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮
汤姆yu3 小时前
基于python的外卖配送及数据分析系统
开发语言·python·外卖分析
Yue丶越3 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
如何原谅奋力过但无声3 小时前
TensorFlow 1.x常用函数总结(持续更新)
人工智能·python·tensorflow
翔云 OCR API3 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
V***u4533 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿4 小时前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台