day4-01 流程控制
一、if语法
1.什么是if?
编程的主要目的就是让机器帮助人类工作,所以机器需要有一定的判断力。
主要用于判断事物的对错,真假,是否可行
2.语法结构
- python用相同的缩进来决定代码块的归属
- 条件可以是任意表达式,但执行结果必须是bool类型
- 在if判断中所有的数据类型也都会自动转换成bool类型
- None,0,空(空字符串,空列表,空字典等)三种情况下转换成布尔值为False
- 其余均为True
2.1、if 条件:
语法
if 条件:
代码块1
代码块2
......
案例1:
如果女人年龄>30岁,那么叫阿姨。
# 如果女人年龄>30岁,那么:叫阿姨
gender = 'female'
age = 32
is_beautiful = True
if gender == 'female' and age > 30 and is_beautiful:
print('阿姨好')
2.2、if...else:
语法
if 条件:
代码块1
代码块2
...
else: # 若条件不成立,将要执行的代码块
代码块1
...
案例2:
如果女人年龄>30岁,那么叫阿姨,否则叫小姐姐
age_of_girl = 18
if age_of_girl > 30:
print('阿姨好')
else:
print('小姐姐好')
2.3、if...elif...else:
语法
若判断条件较多,中间可以加多个elif
if 条件1:
代码块1
代码块2
...
# 在这个流程控制语句中可以加n多个elif
elif 条件2:
代码块1
代码块2
...
elif 条件3:
代码块1
代码块2
...
else:
代码块n
案例3:
如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
score = eval(input('请输入你的成绩:').strip())
if score >= 90:
print('优秀')
elif 90 > score >= 80:
print('良好')
elif 80 > score >= 70:
print('普通')
else:
print('很差')
2.4、if嵌套
案例4:
如果对方是22岁以下,并且很漂亮,那就告白,如果表白成功,那么在一起,否则打印,阿姨好
age_of_girl = 20
is_beautiful = True
success = False
if age_of_girl < 22 and is_beautiful:
print('小姐姐我喜欢你')
if success:
print('表白成功,在一起')
else:
print('表白失败,爱情没啥重要的')
else:
print('阿姨好')
二、循环结构
2.1 什么是循环结构
循环结构就是重复执行某段代码块
2.2 为什么要用循环结构
人类某些时候需要重复做某件事情
所以程序中必须有相应的机制来控制计算机具备人的这种循环做事的能力
三、while循环语法
3 语法
python中有while与for两种循环机制,其中while循环称之为条件循环,语法如下
while的运行步骤:
- 如果条件为真,那么依次执行:代码1,代码2,代码3,.....
- 执行完毕后再次判断条件,如果条件为True则再次执行:代码1,代码2,代码3....,如果条件为False,则循环终止。
while 条件:
代码块1
代码块2
代码块3
......
# 死循环
count = 0
while True:
print(count)
count += 1
3.1 continue
跳过本次循环,执行下一次循环
continue下面不管有多少行代码,都不会执行
3.2 break
- 结束本层循环
- 只能结束一层循环
3.3 while + continue
count = 0
while count < 10:
count += 1
if count == 5:
continue
else:
print(count)
else:
print('执行成功')
3.4 while + else
- 当你的while正常执行结束,就会执行else下面的代码块
- 如果不正常结束,类似于被break打断,就不会执行
count = 0
while count < 10:
print(count)
count += 1
if count == 5:
break
else:
print('执行成功')
3.5 登录认证案例
user_name = '高弟'
user_password = '123'
count = 0
tag = True
while tag:
inp_name = input('请输入你的用户名:').strip()
inp_pd = input('请输入你的密码:').strip()
if inp_name == '高弟' and inp_pd == '123':
print('登录成功!')
while tag:
inp_cmd = input('>>>').strip()
if inp_cmd == 'exit':
tag = False
else:
print(f'执行{inp_cmd}成功')
else:
print('登录失败!')
count += 1
if count == 3:
print('登录超过三次,账户锁死!')
tag = False
四、for循环语法
for:给我们提供了一种不依赖与索引的取值方式
for取值方式更加简洁
4 语法:
for 变量 in 容器类型:
- 容器对象中有几个值,他就循环几次
- 字典对象,直接访问无法访问value
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in l1:
print(i)
d = {'name': 'kody', 'age': 21}
for i in d:
print(i)
name
age
# 返回的值是key,无法直接取字典对象的value
d = {'name': 'kody', 'age': 21}
for i in d:
print(d[i]) # 取字典的value,需要通过字典的key
案例5:
# 打印
"""
******
******
******
"""
for i in range(3): # range(3)等价于range(0, 3),返回的结果是0,1,2
print('******', end=' ')
print()
4.1 for循环的嵌套
案例6:
九九乘法表
for i in range(1, 10): # range(1, 10)输出的是1-9的数字,顾头不顾尾,所以没有数字10
for j in range(1, i+1):
print(f'{i}x{j}={i*j}', end=' ')
print()
但是我们发现打印出来的不是很齐,因为有的结果是个位数,因此少占了一个字符的位置,因此,我们再加一个嵌套的if语句
for i in range(1, 10):
for j in range(1, i+1):
if 0 < i*j < 10:
print(f'{i}x{j}={i*j}', end=' ')
else:
print(f'{i}x{j}={i*j}', end=' ')
print()
4.2 for + continue
案例:
打印1到10的数字,除了5之外
# 循环打印出来1到10数字,如果遇到数字5,则跳过
for i in range(1, 11):
if i == 5:
contiune # 跳过本次循环,执行下一次循环
else:
print(i)
print('打印结束')
4.3 for + break
案例:
打印1到10的数字,除了5之外
# 循环打印出来1到10数字,如果遇到数字5,则停止
for i in range(1, 11):
if i == 5:
break # 中断本层代码循环,本层后面代码不在执行
else:
print(i)
else:
print('打印结束')
4.4 for + else
for循环正常执行结束,就会执行else对应的代码块,非正常结束,例如break打断,就不会执行。
案例:
循环打印出来1到10数字,如果遇到数字5,则停止
# 循环打印出来1到10数字,如果遇到数字5,则停止
for i in range(1, 11):
if i == 5:
break # 中断本层代码循环,本层后面代码不在执行
else:
print(i)
else:
print('打印结束')
day4-01 流程控制的更多相关文章
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- python小白——进阶之路——day4天-———流程控制while if循环
# ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) # 注意点: 要么全部使用4个空格,要么全部使用1个缩进 ,这样 ...
- Java学习day4 程序流程控制一
一.分支结构 条件语句:if...else if语句: 一个 if 语句包含一个布尔表达式和一条或多条语句,如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代 ...
- JaveScript流程控制(JS知识点归纳四)
01 流程控制 顺序结构: 程序的默认执行方式 条件判断语句:也称之为分支结构,选择结构:如果程序要执行的代码出现了多种情况需要使用 循环结构:当代码需要多次重复执行多次时,使用 02 条件判断语句 ...
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...
- 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
随机推荐
- 微项目:一步一步带你使用SpringBoot入门(二)
今天我们来使用JPA做分页项目并且做讲解 如果是新来的朋友请回上一篇 上一篇:微项目(一) maven整合 在pom文件的dependencies依赖中导入以下依赖 <dependency> ...
- Spring IOC(1)----容器刷新(refresh())之前
首先本次分析是基于注解形式的,想来xml格式的原理都是类似的. 首先说一下什么是Bean定义(beandefinition):bean定义并不是实例化的bean,而是bean对象的一些信息,根据这些定 ...
- Spring Boot 2.X(一):入门篇
什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架遵循"约定优于配置& ...
- 【SQL】sql查询同一字段相同属性列的值合计
select type,sum(value) as valueSum from t group by type
- 工业搬运机器人(AGV)为什么要选择视觉导航
在智能制造和仓储物流领域,搬运机器人的需求量在逐年上升.机器人(AGV)的种类千差万别,如何选择成为需求方头痛的问题. 本文将从客户关心的多个方面,对市面上的常见的工业级导航方案做一个比较. 搬运机器 ...
- 纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
button drive 杰杰自己写的一个按键驱动,支持单双击.连按.长按:采用回调处理按键事件(自定义消抖时间),使用只需3步,创建按键,按键事件与回调处理函数链接映射,周期检查按键. 源码地址:h ...
- 解决:Specifying a namespace in include() without providing an app_name和XXX is not a registered namespace问题
python3 Django 环境下,如果你遇到namespace没有注册以及在根目录下urls.py中的include方法的第二个参数namespace添加之后就出错的问题. 出错问题: 'Spec ...
- Python函数参数与参数解构
1 Python中的函数 函数,从数学的角度来讲是,输入一个参数,经过一个表达式的处理后得到一个结果的输出,即就是x-->y的一个映射.同样,在Python或者任何编程语言中,函数其实就是实现一 ...
- tp5中使用中间控制器代理路由,以避免创建过多的无用控制器方法
在写项目的时候偶尔会加载一些不需要传递参数的静态视图,例如 class Index extends Common { public function index() { return $this-&g ...
- VMware workstation Windows 10虚拟机安装步骤
1. 在首页点击创建新的虚拟机 2. 选择典型,下一步 3.选择稍后安装操做系统,下一步. 4. 选择第一个Microsoft Windows,版本选择如图. 5. 选择安装位置,我放在D盘. 7. ...