博客
关于我
Python基础_基本控制语句if和while
阅读量:243 次
发布时间:2019-03-01

本文共 5595 字,大约阅读时间需要 18 分钟。

目录

01. 三大基本控制语句

  1. 顺序语句
  2. 判断语句
  3. 循环语句

02. if 语句体验

2.1 if 判断语句基本语法

Python 中,if 语句 就是用来进行判断的,格式如下:

if 要判断的条件:    条件成立时,要做的事情    ……

注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格

  • 在 Python 开发中,Tab 和空格不要混用!

我们可以把整个 if 语句看成一个完整的代码块

在这里插入图片描述

2.2 判断语句演练 —— 判断年龄

需求

  1. 定义一个整数变量记录年龄
  2. 判断是否满 18 岁 (>=
  3. 如果满 18 岁,允许进网吧嗨皮
# 1. 定义年龄变量age = 18# 2. 判断是否满 18 岁# if 语句以及缩进部分的代码是一个完整的代码块if age >= 18:    print("可以进网吧嗨皮……")# 3. 思考!- 无论条件是否满足都会执行print("这句代码什么时候执行?")

注意

  • if 语句以及缩进部分是一个 完整的代码块

2.3 else 处理条件不满足的情况

else,格式如下:

if 要判断的条件:    条件成立时,要做的事情    ……else:    条件不成立时,要做的事情    ……

注意

  • ifelse 语句以及各自的缩进部分共同是一个 完整的代码块
# 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. 练习1: 定义一个整数变量 age,编写代码判断年龄是否正确
    • 要求人的年龄在 0-120 之间
  2. 练习2: 定义两个整数变量 python_scorec_score,编写代码判断成绩
    • 要求只要有一门成绩 > 60 分就算合格
  3. 练习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 = 50c_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满足 执行的代码    ……

注意

  1. elifelse 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelifelse 以及各自缩进的代码,看成一个 完整的代码块

elif 演练 —— 女友的节日

需求

  1. 定义 holiday_name 字符串变量记录节日名称
  2. 如果是 情人节 应该 买玫瑰看电影
  3. 如果是 平安夜 应该 买苹果吃大餐
  4. 如果是 生日 应该 买蛋糕
  5. 其他的日子每天都是节日啊……
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 的嵌套 演练 —— 火车站安检

需求

  1. 定义布尔型变量 has_ticket 表示是否有车票
  2. 定义整型变量 knife_length 表示刀的长度,单位:厘米
  3. 首先检查是否有车票,如果有,才允许进行 安检
  4. 安检时,需要检查刀的长度,判断是否超过 20 厘米
    • 如果超过 20 厘米,提示刀的长度,不允许上车
    • 如果不超过 20 厘米,安检通过
  5. 如果没有车票,不允许进门
# 定义布尔型变量 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 + 1print("循环结束后的 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 += 1print("0~100之间的数字求和结果 = %d" % result)

06. break 和 continue

breakcontinue 是专门在循环中使用的关键字

  • break 某一条件满足时,退出循环,不再执行后续重复的代码
  • continue 某一条件满足时,不执行后续重复的代码

breakcontinue 只针对 当前所在循环 有效

6.1 break

  • 在循环过程中,如果 某一个条件满足后 再希望 循环继续执行,可以使用 break 退出循环
i = 0while i < 10:    # break 某一条件满足时,退出循环,不再执行后续重复的代码    # i == 3    if i == 3:        break    print(i)    i += 1print("over")

break 只针对当前所在循环有效

6.2 continue

  • 在循环过程中,如果 某一个条件满足后 希望 执行循环代码,但是又不希望退出循环,可以使用 continue
  • 也就是:在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行
i = 0while 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 回车

转载地址:http://dxux.baihongyu.com/

你可能感兴趣的文章
MySQL 备份 Xtrabackup
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>