Python学习笔记丨while、for、if循环结构基础知识与易错点

2023-05-16

Python流程控制

本篇笔记的主要内容是:条件控制和循环控制,包括if语句、while语句、for语句等。

Python条件控制

if (m := 1) > 0# :=是海象运算符,用于在函数内部为变量赋值
    print("ok")
ok

通过if语句来判断条件是否成立,这里需要注意判断条件无需放在括号中(R语言中需要将条件放在括号里),后面需要连接,执行语句无需大括号包围,而是依靠缩进结构进行区分。

  • 多个条件连续判断使用 elif
  • 判断条件同时成立用 and,任意一个成立用 or

以下是一个典型的if条件判断案例:

a = 10
list = [12345 ]
if a not in list:
    print("yes")
else:
    print("no")
#执行结果如下:
yes

Python循环控制

使用循环控制能够执行更加复杂的操作,主要有以下4个元素:

  • 变量初始值:在循环开始之前,已知初始值决定是否开启循环
  • 结束条件:规定循环的结束位置,防止死循环
  • 执行语句:需要循环重复执行的代码块
  • 修改循环变量:使循环向前执行

while循环结构

  • 如果使用 while 循环,只要条件为真,就可以执行一组语句。
  • 如果使用 break 语句,即使 while 条件为真,也可以停止循环。
  • 如果使用 continue 语句,可以停止当前的迭代,并继续下一个。
  • 通过使用 else 语句,当条件不再成立时,可以运行一次代码块。
a = 1
b = 6
while a<b :
    a = a + 1
    if a == 3:
        continue
    print(a)
    if a == 4:
        break
else:
    print("ok")
#执行结果如下:
2
4

for循环结构

  • 用于遍历任何序列项目(即列表,元组,字典,集合或字符串)
  • 提示: for 循环不需要预先设置索引变量。
  • 通过使用 break 语句,可以在循环遍历所有项目之前停止循环
  • 通过使用 continue 语句,可以停止循环的当前迭代,并继续下一个
  • 如需循环一组代码指定的次数,我们可以使用 range() 函数,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束
  • 注意: range(10) 不是 0 到 10 的值,而是值 0 到 9。 range(3, 10)意味着值为 3 到 10(但不包括 10)
  • For 循环中的 Else:指定循环结束时要执行的代码块
  • for 语句不能为空,但是如果写了无内容的 for 语句,需要使用 pass 语句来避免错误
for i in range(2,6):
    if i == 3:
        pass
    if i == 4:
        continue
    if i == 5:
        break
    print('this is :',i)
#执行结果如下:
this is : 2
this is : 3

嵌套循环

有些时候,需要使用嵌套循环来处理某些工作,比如生成小麦的21条染色体名称,可以使用for循环嵌套进行操作:

b = ['A','B','D']
for x in range(1,8):
    for y in b:
        print(x,y)

易错点:

  1. python的break、continue和pass的区别:continue表示跳过后面未执行的程序,重新下一次循环,而pass表示站位,什么也不做,后面的代码(else之前)还是会执行。break,相当于跳出循环体,停止循环
  2. return:直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行

补充知识:

  • for循环中有else,这里只要for循环程序没有被打断(berak),就会执行else中的程序,只有for循环程序被打断时才不会执行else中的程序。
  • range()函数可以实现任意有序数字的生成,也可以实现倒序数字如10到1数字的生成, range(11,-1,-1)
  • 需要格外注意缩进规则

本文由 mdnice 多平台发布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python学习笔记丨while、for、if循环结构基础知识与易错点 的相关文章

  • FreeRTOS简介与源码下载

    RTOS系统 实时操作系统 RTOS全称 Real Time OS 实时操作系统 xff0c 强调实时性 实时操作系统分为硬实时和软实时 硬实时要求在规定的时间内必须完成操作 xff0c 不允许超时 xff1b 软实时则没有那么严格 xff
  • FreeRTOS在STM32F4上移植

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第二章学习笔记 第一章笔记 FreeRTOS简介与源码下载 一 移植 1 准备工程文件 MCU用的是STM32F429的CORE xff0c 用keli创建一个基础工
  • FreeRTOS系统配置

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第三章学习笔记 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 FreeRTOSConfig h FreeRTOS的配
  • FreeRTOS中断分析

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第四章学习笔记 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 一 Cortex
  • FreeRTOS临界段代码

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第四章学习笔记的补充 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 第四章笔记
  • FreeRTOS任务基础

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第五章学习笔记 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 第四章笔记 Fr
  • FreeRTOS任务API函数的使用

    这篇文章最后的demo工程可以在网盘中自行下载 xff1a 链接 xff1a https pan baidu com s 1o1U niMKu0RuDAFio1nKMA 密码 xff1a ysev 本文是 ALIENTEK STM32F42
  • FreeRTOS列表和列表项

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第七章学习笔记 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 第四章笔记 Fr
  • FreeRTOS任务创建

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第八章学习笔记 1 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 第四章笔记
  • FreeRTOS任务调度器开启

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第八章学习笔记 2 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 第四章笔记
  • css样式缓存

    1 问题 css样式变更之后 xff0c 必须手动清缓存才能生效 2 百度 在实际项目开发过过程中 xff0c 页面是上传到服务器上的 而为了减少服务器的压力 xff0c 让用户少加载 xff0c 浏览器会将图片 css js缓存到本地中
  • 使用Verilog HDL语言实现4位超前进位加法器

    一 1位半加器的实现 1 1 原理 半加器由两个一位输入相加 xff0c 输出一个结果位和进位 xff0c 没有进位输入的加法器电路 1 2 真值表 1 3 逻辑表达式 S 61 A B C 61 A amp B 1 4 Verilog 实
  • FreeRTOS任务切换

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第九章学习笔记 第一章笔记 FreeRTOS简介与源码下载 第二章笔记 FreeRTOS在STM32F4上移植 第三章笔记 FreeRTOS系统配置 第四章笔记 Fr
  • 蓝桥杯嵌入式备赛手册

    本文是我参加蓝桥杯嵌入式比赛后的一些心得体会和一些自己总结的驱动代码 xff0c 希望能给以后参加蓝桥杯嵌入式的同学带来一些帮助 本文没有经过校对 xff0c 如有错误还请包涵 xff0c 欢迎大家交流和指正 xff0c 转载请注明出处 一
  • U-Boot详细分析(2)——Exynos4412启动过程

    一 iROM 首先arm的pc指针从0x0地址开始执行 xff0c 打开4412手册可以看到0x0000 0000地址存放着iROM xff1a 所以4412上电后会到iROM中去执行 xff0c iROM是4412出厂时就固化的一段程序
  • U-Boot详细分析(3)——系统时钟操作

    一 引子 在上一篇文章 U Boot详细分析 2 Exynos4412启动过程中可以看到 xff0c BL2程序流程图中有SET CLOCK s这一步骤 xff0c 并且在U Boot源码的 board samsung smdkc210 l
  • 字符串中的第一个唯一字符

    leetcode 的easy题 xff1a 给定一个字符串 xff0c 找到它的第一个不重复的字符 xff0c 并返回它的索引 如果不存在 xff0c 则返回 1 案例 s 61 34 leetcode 34 返回 0 s 61 34 lo
  • WOC广域网加速

    WOC广域网加速 1 广域网存在的问题 xff1a 大量的路由 网关 跨区域和跨运营商的情况比较常见 丢包和延长使用传输效率降低 交互过多导致传输效率差 2 解读方案 xff1a 应用流量可视化 链路优化 数据优化 流量管理 智能报表 3
  • ros发布gps定位信息

    1 可行的主题 Robot Pose EKF节点订阅下面的主题 xff1a odom 2D消息 lt nav msgs Odometry gt imu data 3D消息 lt sensor msgs Imu gt vo 3D消息 lt n
  • tx2备份与恢复

    NVIDIA Jetson是通过Micro USB USB TYPE C接口升级系统 xff08 具体参考不同载板说明 xff09 xff0c 更新前需让Jetson进入Recovery 模式 Recovery 模式下可以进行文件系统更新包

随机推荐

  • debian 163各版本源

    debian8 stable deb http mirrors 163 com debian jessie main non free contrib deb http mirrors 163 com debian jessie updat
  • svn st 状态标识

    svn status 简写 xff1a stat st 显示工作副本中目录与文件的状态 用法 status PATH 未指定参数时 xff0c 只显示本地修改的条目 没有网络访问 常用可选项 xff1a q 只显示本地修改条目的摘要信息 u
  • 单片机蜂鸣器控制程序和驱动电路

    蜂鸣器从结构区分分为压电式蜂鸣器和电磁式蜂鸣器 压电式为压电陶瓷片发音 xff0c 电流比较小一些 xff0c 电磁式蜂鸣器为线圈通电震动发音 xff0c 体积比较小 按照驱动方式分为有源蜂鸣器和无源蜂鸣器 这里的有源和无源不是指电源 xf
  • Linux 下的信号量

    linux下的posix有名信号量的几个要点 博客园 最全面的linux信号量解析 csdn blog Semaphore信号量总结 博客园 sem timedwait csdn blog 一 信号量的概念 信号量的使用主要是用来保护共享资
  • x86-从实模式到保护模式

    十进制到二进制的转换 十进制转换为十六进制 十六进制表示法 在很多高级语言中 xff0c 通常不采用在后面加h的做法来表示十六进制 xff0c 而是为他添加一个0x前缀 如 xff1a 0x3f
  • MG-SOFT 导入MIB文件

    之前SNMP测试一直用的是IReasoning MIB browser xff0c 最近测试snmp V3 xff0c 需要使用MG SOFT MIB Browser 在导入之前使用的MIB文件时 xff0c 发现跟IReasoning M
  • Ubuntu更新源 Failed to fetch http://xxxxxxx Temporary failure resolving ‘mirrors.aliyun.com‘

    之前公司产品一直使用32位环境 xff0c 最近需要使用64位环境 需要更新软件库 xff0c 就换了个64位ubuntu虚拟机 xff0c 重新编译所需的库 xff08 包括pcap grpc等 xff09 更新库的时候 xff0c 想着
  • 交换机学习----网桥

    最近接触到交换机产品 xff0c 正好借机会学习下二层相关网络技术 之前一直想写点东西 xff0c 又懒得写 这次乘机会多写点 xff0c 记录下 xff0c 也算是对学习的一个交代 另自己是初学者 xff0c 也希望能和前辈多交流 有写的
  • Ubuntu配置tftp服务端

    这两天安装ONIE和sonic系统 xff0c 基于ONIE安装sonic系统时 需要使用到tftp服务 xff0c 正好电脑里面有ubuntu的虚拟机 xff0c 就直接在虚拟机上安装了tftp服务器 顺便记录下 一 安装 tftp 1
  • Ubuntu Samba配置简介

    1 Samba 三种特殊的 NAME global xff1a 其属性选项是全局可见的 xff0c 但是在需要的时候 xff0c 可以在其他 lt section gt 中定义某些属性来覆盖 global 的对应选项定义 homes xff
  • ESP8266下载

    下载引脚介绍 VCC span class token operator lt 61 span span class token operator 61 61 span span class token operator 61 61 spa
  • libssl-dev : 依赖: libssl1.0.0 (= 1.0.2g-1ubuntu4.13) 但是 1.0.2n-1ubuntu5.1 正要被安装

    ubuntu下apt get install安装软件 xff0c 报 无法修正错误 xff0c 因为您要求某些软件包保持现状 xff0c 就是它们破坏了软件包间的依赖关系 比如以下报错 一般出现这种情况的原因时 要装A xff0c 依赖B
  • 高通平台音频调试常见问题点归纳

    以下是关于高通音频调试中遇到的一些常见问题点归纳 xff0c 仅供参考 xff0c 如有错误 xff0c 请指正 xff01 1 Audio EC VOIP 软件主要需要设置EC REF echo reference 信号 xff0c 在A
  • 蚂蚁金服二轮面试(P7岗)经验分享

    特意注册了个新号 xff0c 发表下记录自己此次蚂蚁金服的面试情况 xff0c 为了感谢大家面试经历的分享 xff0c 也是对自己面试的总结和复盘 上周三面试 xff0c 截止到现在一周过去啦 xff0c 还没有消息 xff0c 面试过程也
  • 堪比当年的LSTM,Transformer引燃机器学习圈:它是万能的

    视学算法报道 转载自公众号 xff1a 机器之心 作者 xff1a 魔王 谷歌研究科学家 David Ha xff1a Transformer 是新的 LSTM 2017 年 6 月谷歌发布论文 Attention is All You N
  • linux 睡眠函数——sleep(),usleep()

    http blog csdn net gpengtao article details 7887293 include lt unistd h gt unsigned int sleep unsigned int seconds 睡眠秒 返
  • 软件工程复试——九、面向对象方法学引论

    九 面向对象方法学引论 面向对象方法学的出发点和原则是尽可能模拟人类思维方式 xff0c 使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程 xff0c 使描述空间的问题域与求解域在结构上保持一致 面向对象方法的四个要点 xf
  • FreeRTOS+TCP模块移植

    上一版本移植并没有写的很详细 xff0c 只是将改好的代码贴上去 xff0c 今天更新一版 xff0c 附带资源 上一版本用的是FreeRTOS V10 0 1 这一版采用了最新的FreeRTOS V10 3 1 在正确移植FreeRTOS
  • PID控制器讲解

    这个视频教程讲的非常好 xff0c 从理论层面到应用 xff0c 强烈推荐有兴趣的同学看一下 https www bilibili com video BV1B54y1V7hp
  • Python学习笔记丨while、for、if循环结构基础知识与易错点

    Python流程控制 本篇笔记的主要内容是 xff1a 条件控制和循环控制 xff0c 包括if语句 while语句 for语句等 Python条件控制 span class hljs keyword style color c678dd