03. Python中的语句

news2024/11/17 13:27:25

1、前言

在《Python基础数据类型》一文中,我们了解了Python中的基础数据类型,今天我们继续了解下Python中的语句和函数。

2、语句

在Python中常用的语句可以大致分为两类:条件语句、循环语句。

2.1、条件语句

条件语句就是我们编码时常见的逻辑判断语句,条件语句由if else/else if组成。

2.1.1、单条件判断

比如:学生分数,根据是否大于等于60分,判断是否成绩合格。单条件语法为:

if 条件表达式:
    执行语句...
else:
    执行语句...

具体Python实现:

if __name__ == '__main__':
    # 由于这里input默认为字符串,而分数通常为数字类型,这里用int进行数据类型转换
    score = int(input("请输入学习成绩:"))
    if score >= 60:
        print("输入成绩为:", score, ",成绩及格")
    else:
        print("输入成绩为:", score, ",成绩不及格")

2.1.2、多条件判断

比如:学生分数,大于等于80为优秀,60-80之间为良好,60以下为不及格。多条件语法为:

if 条件表达式1:
    执行语句...
elif 条件表达式2:
    执行语句...
elif 条件表达式3:
    执行语句...
else:
    执行语句...

具体Python实现:

if __name__ == '__main__':
    # 由于这里input默认为字符串,而分数通常为数字类型,这里用int进行数据类型转换
    score = int(input("请输入学习成绩:"))
    if score >= 80:
        print("输入成绩为:", score, ",成绩优秀")
    elif 80 > score >= 60:
        print("输入成绩为:", score, ",成绩良好")
    else:
        print("输入成绩为:", score, ",成绩不及格")

当然,elif判断条件可以很多个,不一定只有1个,根据情况而定。

2.2、循环语句

循环语句就是让计算机一直做重复的事情,常用于列出一个集合中的所有元素节点。主要循环语句方式有:for...in循环,while循环。

2.2.1、for...in循环

for...in循环的语法如下:

for 迭代变量 in 迭代集合:
    执行语句...

如,用for...in循环打印某集合的所有元素:

if __name__ == '__main__':
    list_const = [1, 2, 3, 4, 'a', 'b', 'c']
    for dom in list_const:
        print(dom)

用for循环,我们也可以实现一个简单的累加算法。如从1累加到100,这里我们需要使用Python中的range()函数,利用这个函数可以生成一个整数序列。但是需要注意的是range()是从0开始生成小于指定数值的整数,如range(100)是生成0-99的整数,因此如果要累加到100,需要用range(101)。

if __name__ == '__main__':
    total_sum = 0
    for i in range(101):
        total_sum += i
    print("从1累加到100的总和为:", total_sum)

2.2.2、while循环

while循环是只要满足条件,就会一直循环,条件不满足时才退出。

while循环的语法为:

while 条件表达式:
    执行语句...

如上述同样的例子,打印某一个集合的所有元素:

if __name__ == '__main__':
    list_const = [1, 2, 3, 4, 'a', 'b', 'c']
    i = 0
    # 当条件i < 集合长度时,继续循环,否则退出循环
    while i < len(list_const):
        print(list_const[i])
        i = i + 1

用while实现上述累加算法,从1累加到100:

if __name__ == '__main__':
    total_sum = 0
    i = 0
    while i < 101:
        total_sum = total_sum + i
        i = i + 1
    print(total_sum)

2.3、break

如果循环语句全部靠条件表达式来判断明显功能过于单一。假如需要提前退出循环,如从1累加到100,当发现累加到50的时候,就需要提前退出该循环,这时候就需要用到break。break是一个关键字,并不是一个语句,用来标记说此次循环需要提前退出。

if __name__ == '__main__':
    total_sum = 0
    i = 0
    while i < 101:
        if i == 50:
            break  # 提前退出循环
        total_sum = total_sum + i
        i = i + 1
    print(total_sum)

我们可以看到执行的结果与上一次的结果不同,正是之类加到50的结果。遇到i == 50后,循环就直接退出,程序结束。

2.4、continue

提前退出循环除了break关键字以外,还有continue关键字,也可以用于提前退出循环。continue与break不同的是,continue不会退出整个循环,而是退出单前循环(一次),而break是退出整个循环。什么意思呢?我们试着将上述的代码中break替换成continue:

if __name__ == '__main__':
    total_sum = 0
    i = 0
    while i < 101:
        if i == 50:
            i = i + 1  # 为了避免死循环,这里也需要累加1
            continue
        total_sum = total_sum + i
        i = i + 1
    print(total_sum)

可以看出结果为5000,刚好与5050少50。没错,单次循环就是i == 50的此次循环被跳过,而i = 51的循环还会继续。如果是break,i=51的循环也会被提前退出。

为什么上面continue要加一行i = i + 1?

因为continue只是退出当前一次循环,如果遇到continue后,i=50,而下一次的循环还要继续,但是此时i的值没有任何变化,依然

2.5、pass

python中,pass一般起到占位符的作用,就是什么事情也不干(没错,就跟某些人一样)。

if __name__ == '__main__':
    i = 1
    if i == 1:
        pass
    else:
        print(i)

3、小结

到此,Python中常用的语句就介绍完了。其中条件语句和循环语句在实际项目中必不可少。而软件工程中也是将程序结构分为三类:循环结构,顺序结构、判断结构,可见这里的条件语句和循环语句是多么重要。不过在使用时候也要特别注意,尤其是循环语句,如果使用不当很有可能造成死循环,导致整个程序无法正常退出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1226746.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言ASCII码排序(1086: ASCII码排序(多实例测试))

题目描述 输入三个字符后&#xff0c;按各字符的ASCII码从小到大的顺序输出这三个字符。 输入&#xff1a;输入数据有多组&#xff0c;每组占一行&#xff0c;由三个字符组成&#xff0c;之间无空格。chu 输出&#xff1a;对于每组输入数据&#xff0c;输出一行&#xff0c;字符…

Codeforces Round 909 (Div. 3)(A~G)(启发式合并 , DSU ON TREE)

1899A - Game with Integers 题意&#xff1a;给定一个数 , 两个人玩游戏&#xff0c;每人能够执行 操作&#xff0c;若操作完是3的倍数则获胜&#xff0c;问先手的人能否获胜&#xff08;若无限循环则先手的人输&#xff09;。 思路&#xff1a;假如一个数模3余1或者2&#…

【具身智能评估2】具身视觉语言规划(EVLP)数据集基准汇总

参考论文&#xff1a;Core Challenges in Embodied Vision-Language Planning 论文作者&#xff1a;Jonathan Francis, Nariaki Kitamura, Felix Labelle, Xiaopeng Lu, Ingrid Navarro, Jean Oh 论文原文&#xff1a;https://arxiv.org/abs/2106.13948 论文出处&#xff1a;Jo…

Python PyQt 程序设置图标

源码运行时图标 第一步&#xff1a;阿里巴巴是两图标库下载喜欢的图标 iconfont-阿里巴巴矢量图标库 第二步&#xff1a;转化png为ico https://www.aconvert.com/cn/icon/png-to-ico/ 256x256为大图标 默认的32x32很小&#xff08;不建议用) 转化后右键点击文件链接&…

基于金鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于金鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于金鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于金鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

【Android】Android Framework系列--CarUsbHandler源码分析

Android Framework系列–CarUsbHandler源码分析 本文基于Android12源码。 CarUsbHandler是Android Car提供的服务之一&#xff0c;其用车载USB连接的场景。 车载USB有其特殊应用场景&#xff0c;比如AndroidAuto、CarLife等。而Android的做法是在其原有的USB服务上&#xff0…

十七、Linux的组管理

1、Linux组基本介绍 在linux中的每个用户必须属于一个组&#xff0c;不能独立于组外。在linux中每个文件所有者、所在组、其它组的概念 1.所有者 2.所在组 3.其他组 4.改变用户所在的组 2、文件/目录 所有者 一般为文件的创建者&#xff0c;谁创建了该文件&#xff0c;就自…

【图解算法】- 快乐数还能这么解?

一 - 前言 介绍&#xff1a;大家好啊&#xff0c;我是hitzaki辰。 社区&#xff1a;&#xff08;完全免费、欢迎加入&#xff09;日常打卡、学习交流、资源共享的知识星球。 自媒体&#xff1a;我会在b站/抖音更新视频讲解 或 一些纯技术外的分享&#xff0c;账号同名&#xff…

MongoDB随记

MongoDB 1、简单介绍2、基本术语3、shard分片概述背景架构路由功能chunk&#xff08;数据分片&#xff09;shard key&#xff08;分片键值&#xff09; 4、常用命令 1、简单介绍 MongoDB是一个分布式文件存储的数据库&#xff0c;介于关系数据库和非关系数据库之间&#xff0c…

第 372 场 LeetCode 周赛题解

A 使三个字符串相等 求三个串的最长公共前缀 class Solution { public:int findMinimumOperations(string s1, string s2, string s3) {int n1 s1.size(), n2 s2.size(), n3 s3.size();int i 0;for (; i < min({n1, n2, n3}); i)if (!(s1[i] s2[i] && s2[i] s…

【智能家居】5、主流程设计以及外设框架编写与测试

目录 一、主流程设计 1、工厂模式结构体定义 &#xff08;1&#xff09;指令工厂 inputCmd.h &#xff08;2&#xff09;外设工厂 controlDevices.h 二、外设框架编写 1、创建外设工厂对象bathroomLight 2、编写相关函数框架 3、将浴室灯相关操作插入外设工厂链表等待被调…

内容运营工具:标签体系

一.分类和标签的区别 ■标签是扁平的&#xff0c;分类是层级的。 ■标签是精确的&#xff0c;分类是粗糙的。 ■标签是多维的&#xff0c;分类是一维的。 二.标签的本质&#xff1a;元数据 事实上&#xff0c;在数据领域&#xff0c;有一个鼎鼎大名的词汇与标签极其雷同&…

再高级的打工人也只是打工人!

再高级的打工人也只是打工人&#xff01; OpenAI CEO 奥特曼被罢免的事情人尽皆知「虽然&#xff0c;今天又复职了。。」&#xff0c;我们能从中学到什么呢&#xff1f; CEO 也能被裁&#xff0c;这应该是最近几年被裁名单里面&#xff0c;职级最高的一个人了吧。你再也不用担…

吐血整理,金融银行测试的“火“到底在哪里?银行测试真正实施...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 银行里的软件测试…

C#WPF中的实现读取和写入文件的几种方式

说明&#xff1a;C#中实现读取和写入的类根据需要来选择。 1、File类 File类是用于操作文件的工具类&#xff0c;提供了对文件进行创建、复制、删除、移动和打开单一文件的静态方法。但需要注意的是&#xff0c;WPF中使用File的类&#xff0c;需要先引用System.IO下的命名空间。…

数据结构【DS】图的遍历

BFS 要点 需要一个辅助队列visited数组&#xff0c;防止重复访问 复杂度 时间复杂度&#xff1a;访问结点的时间访问所有的边的时间 广度优先生成树 邻接表存储的图的表示方式不唯一&#xff0c;生成树也不唯一 DFS 复杂度 时间复杂度&#xff1a;访问结点的时间访问所有…

Java工具包Hutool框架

Hutool是一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML 等 JDK 方法进行封装,组成各种 Util 工具类。官网地址:https://www.hutool.cn/。 添加依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artif…

气候更换,气运也会随之变化

天人合一&#xff0c;人天相应&#xff0c;人体与宇宙天体的运行互相感应相通&#xff0c;与大自然的万千变化紧密联系。阴阳转换&#xff0c;带来的气场和磁场的变化&#xff0c;对自然界万事万物和人影响很大。 蒹葭苍苍&#xff0c;白露为霜&#xff0c;所谓伊人&#xff0…

基于未来搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于未来搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于未来搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于未来搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

2023最新最全【Nacos】零基础安装教程

一、下载Nacos1.4.1 二、单机版本安装 2.1 将下载的nacos安装包传输到服务器2.2 解压文件2.3 进入bin目录下 单机版本启动2.4 关闭nacos2.5 访问Nacos地址 IP&#xff1a;8848/nacos 三、集群版本的安装 3.1 复制nacos安装包&#xff0c;修改为nacos8849&#xff0c;nacos88…