Python语法(一)——顺序、条件和循环语句

文章目录

  • 顺序语句
  • 条件语句
    • 语法格式
    • 缩进和代码块
    • 空语句 pass
    • 练习
  • 循环语句
    • while循环
      • 语法格式
      • 练习
    • for循环
      • 语法格式

顺序语句

默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的

print("1")
print("2")
print("3")

执行结果一定为 “123”, 而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码, 我们称为顺序语句

条件语句

语法格式

# if
if 条件:事情1事情2
下一件事
#如果 条件 值为 True, 则执行 事情1, 事情2, 下一件事
#如果 条件值为 False, 则只执行 下一件事, 不执行 事情1, 事情2# if else
if 条件:事情1
else:事情2
# 如果 条件值为 True, 则执行 事情1
# 如果 条件值为 False, 则执行 事情2# if elif else
if 条件1:事情1
elif 条件2:事情2
else:事情3
# 如果 条件1 值为 True, 则执行 事情1
# 如果 条件1 值为 False, 并且 条件2 为 True 则执行 事情2
# 如果 条件1 值为 False, 并且 条件2 为 False 则执行 事情3

注意: Python中的条件语句写法, 和很多编程语言不太一样

  • if 后面的条件表达式, 没有 ( ), 使用 :作为结尾
  • if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
  • 对于多条件分支, 不是写作 else if, 而是 elif

示例:

choice = input("输入1 表示好好学习,输入2 表示躺平。")
if choice == "1":print("bright future")
elif choice == "2":print("confused tomorrow")
elseprint("输入有误,请输入 1 或 2 !!!")

缩进和代码块

Python中使用缩进来表示不同的代码块,不同级别的缩进,程序的执行效果是不同的。

# 代码1
num = input('请输入一个整数: ')
if num == '1':print('hello')print('world')# 代码2
num = input('请输入一个整数: ')
if num == '1':print('hello')
print('world')
  • 在代码1 中, print(“world”) 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行
  • 在代码2 中, print(“world”) 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行.

另外, 代码块内部还可以嵌套代码块.
如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级

空语句 pass

Python语法规定,if语句、while语句、for语句、函数体、类定义等都不能为空,如果因为某些原因写了对应无内容的语句,就需要使用pass语句来避免语法报错

if a < b:passwhile a < b:passfor x in range(10):passdef func():passclass Class:pass

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求

比如

# 正常运行,不报错
a = int(input("请输入一个整数:"))
if a != 1:pass
else:print("hello")# 报错
a = int(input("请输入一个整数:"))
if a != 1:else:print("hello")

练习

输入一个整数, 判定是否是奇数

a = int(intput("请输入一个整数: "))if a % 2 == 0:print("偶数")
else:print("奇数")

输入一个整数, 判定是正数还是负数

a = int(input('请输入一个整数: '))if a > 0:print('正数')
elif a < 0:print('负数')
else:print('0')

判定年份是否是闰年

year = int(input('请输入一个年份: '))if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print('闰年')
else:print('平年')

循环语句

while循环

语法格式

while 条件:循环体
  • 条件为真, 则执行循环体代码.
  • 条件为假, 则结束循环.

练习

# 打印 1-10 的整数
num = 1
while num <= 10:print(num)num += 1#  计算 1-100 的和
sum = 0
num = 1
while num <= 100:sum += numnum += 1
print(sum)# 计算 5 的阶乘result = 1
n = 1
while n <= 5:result *= nn += 1
print(result)

for循环

语法格式

for 循环变量 in 可迭代对象:循环体

注意:

  • python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
  • 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

比如:

# 打印1-10
for i in range(1, 11):print(i)
# 使用 range 函数, 能够生成一个可迭代对象. 生成的范围是 [1, 11)# 打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):print(i)
# 通过 range 的第三个参数, 可以指定迭代时候的 "步长". 也就是一次让循环变量加几.# 打印 10-1
for i in range(10, 0, -1):print(i)
# range 的 步长 也可以设定成负数# 求 1 - 100 的和
sum = 0
for i in range(1, 101):sum += i
print(sum)
  • continue 表示结束这次循环, 进入下次循环
  • break 表示结束整个循环

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

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

相关文章

imo云办公室 Imo_DownLoadUI.php 任意文件下载漏洞复现

0x01 漏洞描述&#xff1a; imo云办公室由上海易睦网络科技有限公司于2007年创立&#xff0c;总部位于上海&#xff0c;imo云办公室管理运营企业即时通讯平台imo&#xff0c;包括对imo的在线支持&#xff0c;故障处理&#xff0c;客户服务等&#xff0c;对imo进行持续研发&…

利用echarts 显示图片信息

当前有个需求,需要对其进行相关统计,这里我们采用jquery3.6 与echarts.js 做相关图表,不解释,直接上代码吧 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"wid…

IM项目-----文件管理子服务

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、搭建思想二、服务器搭建1.继承fileService类&#xff0c;重写业务方法服务器类设计建造者类 前言 文件管理子服务&#xff0c;主要用于管理用户的头像&…

两台虚拟机之分布式部署

Apache2 和 PHP 安装 在虚拟机1上执行以下步骤: 更新系统包列表: sudo apt update安装 Apache2: sudo apt install apache2 -y安装 PHP 及其扩展: sudo apt install php libapache2-mod-php php-mysql配置Apache和PHP sudo nano /etc/apache2/mods-enabled/dir.conf#…

Netty笔记10-Netty参数调优

文章目录 一、CONNECT_TIMEOUT_MILLISCONNECT_TIMEOUT_MILLIS设置为1秒超时CONNECT_TIMEOUT_MILLIS设置为5秒超时注意事项 二、SO_BACKLOG代码示例注意事项 三、ulimit -n(文件描述符)设置文件描述符限制在注意事项 四、TCP_NODELAY使用 TCP_NODELAY 的场景注意事项 五、SO_SND…

【Git原理与使用】版本管理与分支管理(1)

目录 一、基本操作 1、初识Git 2、Git安装[Linux-centos] 3、Git安装[ Linnx-ubuntu] 4、创建git本地仓库 5、配置Git 6、认识工作区、暂存区、版本库 7、添加文件 8、查看历史提交记录 9、查看.git文件目录结构 10、查看版本库对象的内容 11、小结&#xff08;在本地的.git仓库…

VS code EXPLORER 中不显示指定文件及文件夹设置(如.pyc, __pycache__, .vscode 文件)

VS code EXPLORER 中不显示指定文件及文件夹设置 引言正文方法1打开方式1打开方式2 方法2 引言 VS code 号称地表最强轻量级编译器&#xff0c;其最大的优势在于用户可以根据自己的需求下载适合自己的 extension。从而定制个性化的编译器。然而&#xff0c;本人今天遇到了一个…

鹰眼降尘监测

鹰眼系统检测原理根据应用领域的不同而有所差异。以下是朗观视觉小编整理的几个主要应用领域及其检测原理的概述&#xff1a; 1. 体检领域 在体检领域&#xff0c;鹰眼通常指的是一种全身扫描仪器&#xff0c;如法国鹰眼检测全身扫描系统。该系统根据生理反馈信号的单向导通&a…

基于ssm的快餐店点餐系统设计与实现

需要项目源码请联系我&#xff0c;目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架&#xff0c;源码丰富。 专业团队&#xff0c;咨询就送开题报告&#xff0c;活动限时免费&#xff0c;有需要的朋友可以来留言咨询。 一、摘要 进入二十一世纪以来&#xff0c;计…

深度学习自编码器 - 收缩自编码器(CAE)篇

序言 在深度学习的浪潮中&#xff0c;收缩自编码器&#xff08; Compressive Autoencoder, CAE \text{Compressive Autoencoder, CAE} Compressive Autoencoder, CAE&#xff09;作为自编码器的一种高级形式&#xff0c;正逐步崭露头角。收缩自编码器在保留自编码器核心功能—…

QT For Android开发-打开PPT文件

一、前言 需求&#xff1a; Qt开发Android程序过程中&#xff0c;点击按钮就打开一个PPT文件。 Qt在Windows上要打开PPT文件或者其他文件很容易。可以使用QDesktopServices打开文件&#xff0c;非常方便。QDesktopServices提供了静态接口调用系统级别的功能。 这里用的QDesk…

高效开发,从暗藏玄机的文件系统开始

4G-Cat.1模组的文件系统关乎数据传输速度、存储效率&#xff0c;以及数据安全性等等诸多因素&#xff0c;在应用开发中极为重要。 本期&#xff0c;我们来学习合宙Air201的实用示例——文件系统的使用 Air201文件系统的使用 合宙Air201资产定位模组——是一个集成超低功耗4G通…

深入探索迭代器模式的原理与应用

&#x1f3af; 设计模式专栏&#xff0c;持续更新中 欢迎订阅&#xff1a;JAVA实现设计模式 &#x1f6e0;️ 希望小伙伴们一键三连&#xff0c;有问题私信都会回复&#xff0c;或者在评论区直接发言 迭代器模式 &#x1f4bb; 迭代器模式 (Iterator Pattern) 是一种行为设计模…

saltstack高级用法

一、saltstack的高级用法 一、job管理 1、job简介 Jid&#xff1a;job id&#xff0c;格式为%Y%m%d%H%M%S%fmaster在下发指令消息时&#xff0c;会附带上产生的Jid&#xff0c;minion在接收到指令开始执行时&#xff0c;会在本地的cachedir&#xff08;默认是/var/cache/salt/…

力扣 2824.统计和小于目标的下标对数目

文章目录 题目介绍解法 题目介绍 解法 题目相当于从数组中选两个数&#xff0c;我们只关心这两个数的和是否小于 target&#xff0c;由于 abba&#xff0c;无论如何排列数组元素&#xff0c;都不会影响加法的结果&#xff0c;所以排序不影响结果的数量。 排序后&#xff1a; …

CDH Hive集群的create/drop慢问题,在200s 多一点处理分析

现象&#xff1a; CREATE TABLE test911 (SN String,PN_CODE String); Total time spent in this metastore function was greater than 1000ms : createTable_(Table, )200091 Hive集群的 create/drop 操作时间基本都稳定在 200s 多一点。 分析&#xff1a; HMS会实时向Sentr…

实战OpenCV之图像阈值处理

基础入门 图像阈值处理是一种二值化技术&#xff0c;它基于预设的阈值&#xff0c;可以将图像中的像素分为两大类&#xff1a;一大类是背景&#xff0c;另一大类是前景或目标对象。这个过程涉及将图像中的每个像素值与阈值进行比较&#xff0c;并根据比较结果决定保留原始值还是…

jmeter得到的文档数据处理

通过前面jmeter得到的输出文档&#xff0c;这里是txt文档&#xff0c;里面包含了很多条数据&#xff0c;每条数据的结构如下&#xff1a; 【request】 uuid&#xff1a;xxxxxxx timestamp&#xff1a;xxxxxxxx No.x question&#xff1a;xxxxxxx 【response】 code&#…

防火墙配置变更管理

在任何组织中&#xff0c;当涉及到网络安全时&#xff0c;频繁地更换防火墙是必要的&#xff0c;实施简化的防火墙更改管理策略模板可以减少管理时间&#xff0c;还可以减少每次变更引入新的安全性或合规性问题的可能性。典型的防火墙变更管理流程将包括以下步骤&#xff1a; …

排序----插入排序

一开始把第一个元素看成是有序的&#xff0c;然后从第二个元素开始拿出来与前面的数据比较&#xff0c;若前面的数据小&#xff0c;就把前面的数据不断后移&#xff08;注意要把拿出来的那个元素提前保存下来&#xff09;&#xff0c;直到遇到比自己小的元素&#xff0c;然后插…