Python基础_基本控制语句if和while
程序员文章站
2022-06-21 18:56:38
...
目录
01. 三大基本控制语句
- 顺序语句
- 判断语句
- 循环语句
02. if 语句体验
2.1 if 判断语句基本语法
在 Python
中,if 语句 就是用来进行判断的,格式如下:
if 要判断的条件:
条件成立时,要做的事情
……
注意:代码的缩进为一个
tab
键,或者 4 个空格 —— 建议使用空格
- 在 Python 开发中,Tab 和空格不要混用!
我们可以把整个 if 语句看成一个完整的代码块
2.2 判断语句演练 —— 判断年龄
需求
- 定义一个整数变量记录年龄
- 判断是否满 18 岁 (>=)
- 如果满 18 岁,允许进网吧嗨皮
# 1. 定义年龄变量
age = 18
# 2. 判断是否满 18 岁
# if 语句以及缩进部分的代码是一个完整的代码块
if age >= 18:
print("可以进网吧嗨皮……")
# 3. 思考!- 无论条件是否满足都会执行
print("这句代码什么时候执行?")
注意:
-
if
语句以及缩进部分是一个 完整的代码块
2.3 else 处理条件不满足的情况
else
,格式如下:
if 要判断的条件:
条件成立时,要做的事情
……
else:
条件不成立时,要做的事情
……
注意:
-
if
和else
语句以及各自的缩进部分共同是一个 完整的代码块
# 1. 输入用户年龄
age = int(input("今年多大了?"))
# 2. 判断是否满 18 岁
# if 语句以及缩进部分的代码是一个完整的语法块
if age >= 18:
print("可以进网吧嗨皮……")
else:
print("你还没长大,应该回家写作业!")
# 3. 思考!- 无论条件是否满足都会执行
print("这句代码什么时候执行?")
03. 逻辑运算
- 在程序开发中,通常 在判断条件时,会需要同时判断多个条件
- 只有多个条件都满足,才能够执行后续代码,这个时候需要使用到 逻辑运算符
- 逻辑运算符 可以把 多个条件 按照 逻辑 进行 连接,变成 更复杂的条件
- Python 中的 逻辑运算符 包括:与 and/或 or/非 not 三种
3.1 and
条件1 and 条件2
- 与/并且
- 两个条件同时满足,返回
True
- 只要有一个不满足,就返回
False
3.2 or
条件1 or 条件2
- 或/或者
- 两个条件只要有一个满足,返回
True
- 两个条件都不满足,返回
False
3.3 not
not 条件
- 非/不是
- 练习1: 定义一个整数变量
age
,编写代码判断年龄是否正确- 要求人的年龄在 0-120 之间
- 练习2: 定义两个整数变量
python_score
、c_score
,编写代码判断成绩- 要求只要有一门成绩 > 60 分就算合格
- 练习3: 定义一个布尔型变量
is_employee
,编写代码判断是否是本公司员工- 如果不是提示不允许入内
答案 1:
# 练习1: 定义一个整数变量 age,编写代码判断年龄是否正确
age = 100
# 要求人的年龄在 0-120 之间
if age >= 0 and age <= 120:
print("年龄正确")
else:
print("年龄不正确")
答案 2:
# 练习2: 定义两个整数变量 python_score、c_score,编写代码判断成绩
python_score = 50
c_score = 50
# 要求只要有一门成绩 > 60 分就算合格
if python_score > 60 or c_score > 60:
print("考试通过")
else:
print("再接再厉!")
答案 3:
# 练习3: 定义一个布尔型变量 `is_employee`,编写代码判断是否是本公司员工
is_employee = True
# 如果不是提示不允许入内
if not is_employee:
print("非公勿内")
04. if 语句进阶
4.1 elif
- 在开发中,使用
if
可以 判断条件 - 使用
else
可以处理 条件不成立 的情况 - 但是,如果希望 再增加一些条件,条件不同,需要执行的代码也不同 时,就可以使用
elif
- 语法格式如下:
if 条件1:
条件1满足执行的代码
……
elif 条件2:
条件2满足时,执行的代码
……
elif 条件3:
条件3满足时,执行的代码
……
else:
以上条件都不满足时,执行的代码
……
- 对比逻辑运算符的代码
if 条件1 and 条件2:
条件1满足 并且 条件2满足 执行的代码
……
注意
-
elif
和else
都必须和if
联合使用,而不能单独使用 - 可以将
if
、elif
和else
以及各自缩进的代码,看成一个 完整的代码块
elif 演练 —— 女友的节日
需求
- 定义
holiday_name
字符串变量记录节日名称 - 如果是 情人节 应该 买玫瑰/看电影
- 如果是 平安夜 应该 买苹果/吃大餐
- 如果是 生日 应该 买蛋糕
- 其他的日子每天都是节日啊……
holiday_name = "平安夜"
if holiday_name == "情人节":
print("买玫瑰")
print("看电影")
elif holiday_name == "平安夜":
print("买苹果")
print("吃大餐")
elif holiday_name == "生日":
print("买蛋糕")
else:
print("每天都是节日啊……")
4.2 if 的嵌套
elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级 的
- 在开发中,使用
if
进行条件判断,如果希望 在条件成立的执行语句中 再 增加条件判断,就可以使用 if 的嵌套 - if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
- if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别
- 语法格式如下:
if 条件 1:
条件 1 满足执行的代码
……
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
……
# 条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
# 条件 1 不满足的处理
else:
条件1 不满足时,执行的代码
……
if 的嵌套 演练 —— 火车站安检
需求
- 定义布尔型变量
has_ticket
表示是否有车票 - 定义整型变量
knife_length
表示刀的长度,单位:厘米 - 首先检查是否有车票,如果有,才允许进行 安检
- 安检时,需要检查刀的长度,判断是否超过 20 厘米
- 如果超过 20 厘米,提示刀的长度,不允许上车
- 如果不超过 20 厘米,安检通过
- 如果没有车票,不允许进门
# 定义布尔型变量 has_ticket 表示是否有车票
has_ticket = True
# 定义整数型变量 knife_length 表示刀的长度,单位:厘米
knife_length = 20
# 首先检查是否有车票,如果有,才允许进行 安检
if has_ticket:
print("有车票,可以开始安检...")
# 安检时,需要检查刀的长度,判断是否超过 20 厘米
# 如果超过 20 厘米,提示刀的长度,不允许上车
if knife_length >= 20:
print("不允许携带 %d 厘米长的刀上车" % knife_length)
# 如果不超过 20 厘米,安检通过
else:
print("安检通过,祝您旅途愉快……")
# 如果没有车票,不允许进门
else:
print("大哥,您要先买票啊")
05. while 循环基本使用
-
循环的作用就是让 指定的代码 重复的执行
-
while
循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行 -
需求 —— 打印 5 遍
Hello Python
-
思考 —— 如果要求打印 100 遍怎么办?
2.1 while
语句基本语法
初始条件设置 —— 通常是重复执行的 计数器
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件(计数器 + 1)
注意:
-
while
语句以及缩进部分是一个 完整的代码块
第一个 while 循环
需求
- 打印 5 遍 Hello Python
# 1. 定义重复次数计数器
i = 1
# 2. 使用 while 判断条件
while i <= 5:
# 要重复执行的代码
print("Hello Python")
# 处理计数器 i
i = i + 1
print("循环结束后的 i = %d" % i)
注意:循环结束后,之前定义的计数器条件的数值是依旧存在的
死循环
由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执行,程序无法终止!
2.2 赋值运算符
- 在 Python 中,使用
=
可以给变量赋值 - 在算术运算时,为了简化代码的编写,
Python
还提供了一系列的 与 算术运算符 对应的 赋值运算符 - 注意:赋值运算符中间不能使用空格
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
%= | 取 模 (余数)赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
- 计算 0 ~ 100 之间所有数字的累计求和结果
# 计算 0 ~ 100 之间所有数字的累计求和结果
# 0. 定义最终结果的变量
result = 0
# 1. 定义一个整数的变量记录循环的次数
i = 0
# 2. 开始循环
while i <= 100:
print(i)
# 每一次循环,都让 result 这个变量和 i 这个计数器相加
result += i
# 处理计数器
i += 1
print("0~100之间的数字求和结果 = %d" % result)
06. break 和 continue
break
和continue
是专门在循环中使用的关键字
-
break
某一条件满足时,退出循环,不再执行后续重复的代码 -
continue
某一条件满足时,不执行后续重复的代码
break
和continue
只针对 当前所在循环 有效
6.1 break
-
在循环过程中,如果 某一个条件满足后,不 再希望 循环继续执行,可以使用
break
退出循环
i = 0
while i < 10:
# break 某一条件满足时,退出循环,不再执行后续重复的代码
# i == 3
if i == 3:
break
print(i)
i += 1
print("over")
break
只针对当前所在循环有效
6.2 continue
-
在循环过程中,如果 某一个条件满足后,不 希望 执行循环代码,但是又不希望退出循环,可以使用
continue
- 也就是:在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行
i = 0
while i < 10:
# 当 i == 7 时,不希望执行需要重复执行的代码
if i == 7:
# 在使用 continue 之前,同样应该修改计数器
# 否则会出现死循环
i += 1
continue
# 重复执行的代码
print(i)
i += 1
- 需要注意:使用
continue
时,条件处理部分的代码,需要特别注意,不小心会出现 死循环
continue
只针对当前所在循环有效
07. while 循环嵌套
7.1 循环嵌套
-
while
嵌套就是:while
里面还有while
while 条件 1:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
while 条件 2:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件 2
处理条件 1
08. 字符串中的转义字符
-
\t
在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐 -
\n
在控制台输出一个 换行符
制表符 的功能是在不使用表格的情况下在 垂直方向 按列对齐文本
转义字符 | 描述 |
---|---|
\\ | 反斜杠符号 |
\’ | 单引号 |
\" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
推荐阅读
-
mysql 开发基础系列20 事务控制和锁定语句(上)
-
python 的赋值语句和基本输入输出详解
-
python基础学习-入门到精通(5-条件控制语句)
-
Python基础一: 计算机基础,Python相关介绍,变量,常量,注释,基础数据类型(int,str,bool),用户交互input,流程控制语句if
-
Python基础之循环语句用法示例【for、while循环】
-
Python基础之条件控制操作示例【if语句】
-
python人脸识别项目之基础学习(三):矩阵的基本运算 + 张量的阶和形态
-
python基础 - 控制语句
-
mysql 开发基础系列21 事务控制和锁定语句(下)
-
python基础教程之简单入门说明(变量和控制语言使用方法)