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

简介: 本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。

缩进几个字符好?

  • 上次 研究了range函数
  • 根据range函数的结果
  • 生成了for循环
  • 可以输出
  • 从start
  • 到end - 1
  • 所有的数字

  • 想要 循环输出
  • 必须得缩进吗?

for num in range(ord('A'), ord('Z')+1):

   print(num,chr(num))

  • 不缩进会如何呢?🤔

编写程序

  • 编写一个indent.py

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个空格吗?

对齐

  • python 有个规范PEP8

  • 明确要求
  • 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=":")

  • 字符类型包括
  • 数字
  • 大小写字母
  • 符号

  • 但是 找不到 竖线符号(|)
  • 这个竖线 在哪里呢??🤔
相关文章
|
4天前
|
数据库 Python
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
34 24
|
7天前
|
人工智能 Shell 开发工具
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
48 32
|
10天前
|
缓存 Shell 开发工具
[oeasy]python064_命令行工作流的总结_vim_shell_python
本文总结了命令行工作流中的关键工具和操作,包括vim、shell和Python。主要内容如下: 1. **上次回顾**:完成了输入输出的代码编写,并再次练习了vim的使用。 2. **shell基础**:介绍了shell环境及其基本命令,如`pwd`、`cd`、`ll -l`等。 3. **Python游乐场**:通过`python3`命令进入Python交互环境,可以进行简单计算和函数调用,常用函数有`help`、`ord`、`chr`等。 4. **vim编辑器**:详细讲解了vim的三种模式(正常模式、插入模式、底行命令模式)及其切换方法,以及常用的底行命令如`:w`、`:q`、`
57 15
|
27天前
|
人工智能 Shell 开发工具
[oeasy]python062_在python中完成输入和输出_input_print
本文介绍了在Python中使用`input()`和`print()`函数完成输入和输出操作的基础知识。通过编写简单的程序,如问候用户和统计苹果数量,演示了如何添加提示信息、处理用户输入并输出结果。同时,回顾了上一次课程内容,包括`input`函数的参数和提示词的使用。文中还展示了如何在vim编辑器中编写和运行Python代码,并对vim和shell的基本操作进行了总结。最后提供了相关学习资源链接,方便读者进一步学习。
115 66
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
1月前
|
人工智能 Unix Java
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
89 9
|
1月前
|
C语言 Python
[oeasy]python058_一句话让python崩了
本文介绍了如何通过重新赋值`__builtins__`使Python环境崩溃,并探讨了下划线的来历及其在编程中的作用。文章回顾了上次内容,展示了覆盖内建模块导致系统崩溃的过程,解释了恢复方法,以及PEP 8规范中关于空格使用的建议。最后,文章总结了下划线在变量定义和提高代码可读性方面的重要性,并简述了其从打字机时代到计算机时代的演变。
35 10
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2

热门文章

最新文章

推荐镜像

更多