流程控制
python语法入门之流程控制
1、什么是流程控制?
流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构
- 顺序结构
- 分支结构
- 循环结构
分支结构:
分支结构就是根据条件判断的真假去执行不同分支对应的子代码
if语法:
if 条件1: #如果条件1的结果为True,就依次执行:代码1,代码2,......
代码块1
代码块2
.........
elif 条件2 #如果条件2的结果为True,就依次执行:代码3,代码4 ........
代码块3
代码块4
.........
else 条件3 #其他情况,就依次执行:代码5,代码6 ......
代码5
代码6
.......
注意:
1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自下而上依次运行
2、条件可以是任意表达式,但执行结果必须是布尔类型
#在if判断中所有的数据类型也都会自动转换成布尔类型
None 、0 、空(空字符串、空列表、空子典等)代表布尔值中的 False
if 应用案例:
#如果女人的年纪大于30,那么:阿姨好
age_of_girl = 31
if age_of_girl > 30:
print('阿姨好')
# 如果:女人的年龄大于30,那么:叫阿姨,否则:叫小姐姐
age_of_girl = 18
if age_of_girl > 30:
print('阿姨好')
else:
print("小姐姐")
#如果女人的年龄大于等于18并且小于22并且身高大于170并且体重小于100并且是漂亮的,那么:表白,否则:阿姨好
age_of_girl = 18
height = 171
weight = 95
is_beautiful = True
if age_of_girl >=18 and age_of_girl < 22 and height > 170 and weight < 100 and is_beautiful == True:
print('表白')
else:
print('阿姨好')
案例:
如果:成绩>=90,那么:优秀
如果:成绩>=80且<90,那么:良好
如果:成绩>=70且<80,那么:普通
其他情况:垃圾
score = input('>>: ')
score = int(score)
if score >= 90:
print('优秀')
elif score >=80 and score < 90:
print('良好')
elif score >=70 and score < 80:
print('普通')
else:
print('垃圾')
if嵌套:在表白成功的基础上:
如果表白成功,那么:在一起
否则: .......
age_of_girl = 18
height = 171
weight = 95
is_beautiful = True
success = False
if age_of_girl >= 18 and age_of_girl < 30 and height > 170 and weight < 100 and is_beautiful == True:
if success:
print('表白成功,在一起')
else:
print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊')
else:
print('阿姨好')
循环结构
1、循环结构就是重复执行某段代码
while循环语法:(while循环称之为条件循环)
while 条件:
代码1
代码2
代码3
......
while 的运行步骤:
步骤1:如果条件为真,那么依次执行:代码1,代码2,代码3, .......
步骤2:执行完毕后再次判断条件,如果条件为Ture则再次执行:代码1、代码2、代码3 .......、如果条件为False,则循环终止
while循环案例:
#用户认证登录
username = 'tom'
password = '147'
input_name = input('请输入用户名:')
input_pwd = input('请输入密码:')
if input_name ==username and input_pwd == password:
print('登陆成功')
else:
print('输入的用户名或密码错误')
如果用户名或密码输错三次锁定
username = 'tom'
password = '147'
count = 0
while count < 3:
input_name = input('请输入用户名:')
input_pwd = input('请输入密码:')
if input_name == username and input_pwd == password:
print('登陆成功')
else:
print('输入的用户名或密码错误')
count += 1
上述案例当我们输入正确时,会一直输入,如何在输入正确后结束循环:
uaername = 'tom'
password = '147'
count = 0
while count < 3:
input_name = input('请输入用户名:')
input_pwd = input('请输入密码:')
if input_name == uaername and input_pwd == password:
print('登录成功')
break
else:
print('输入用户名或密码错误')
count += 1
拓展:如果while循环嵌套很多层,想要退出每一层循环需要在每一层循环都有一个break
while + continue 的使用:
#打印1-10,除7以外的所有数字
number = 11
while number > 1:
number -= 1
if number == 7:
continue
print(number)
注:break 代表结束本层循环,后面的代码都不会再继续执行
continue 用于结束本次循环,直接进入下一次循环
while + else 的使用:
在while循环中,可以跟else 语句,当while循环正常执行完并且中间没有被break终止,就会执行else后面的语句,所以我们可以用else来检测循环是否正常结束
正常结束,没有被打断
count = 1
while count <= 5:
count += 1
print('Loop',count)
else:
print('循环正常执行完')
print('----out of while loop----')
没有正常结束,被打断
count = 0
while count <= 5:
count += 1
if count == 3:
break
print('loop',count)
else:
print('循环正常执行完')
print('----out of while loop----')
for循环
案例:打印0-5
简单版:
for i in range(6):
print(i)
复杂版:
count = 1
while count <6 :
print(count)
count += 1
for循环嵌套:
#请用for循环嵌套的方式打印如下图形:
*****
*****
*****
for i in range(3):
for j in range(5):
print('*',end = '')
print()
#九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f"{i}x{j}={i*j}",end = ' ')
print()
原文地址:https://www.cnblogs.com/127-2933/p/11867889.html
- Java8新特性——StreamAPI(一)
- springcloud学习手册-Hystrix(仪表盘说明)
- RedRabbit——基于BrokerPattern服务器框架
- C++任务队列与多线程
- 游戏服务器ID生成器组件
- Java8新特性——Lambda表达式(一)
- C++ FFLIB之FFRPC:多线程&多进程的scalability探索
- ffrpc-c++进程间(服务器端、客户端)通信框架
- Docker入门实战(一)——Docker常用命令
- C++使用ffpython嵌入和扩展python
- 前端防御从入门到弃坑——CSP变迁
- python的解释器spython介绍
- OpenCV人脸识别之二:模型训练
- 游戏服务器设计之NPC系统
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PyQt5 技巧篇-窗口置顶设置,如何使窗口始终显示在最前面
- 解决npm install时报错无法安装chromedriver的问题
- 解决集成jpa时无法创建entityManagerFactory的问题
- Spring船新版推出的WebFlux,是兄弟就来学我
- JDK9特性-Reactive Stream 响应式流
- Java函数式编程之Stream流编程
- 使用docker安装elasticsearch伪分布式集群以及安装ik中文分词插件
- PyQt5 技巧篇-如何让窗体只显示关闭按钮
- Gradle多项目构建与jar包发布
- Gradle初体验
- hexo初始化
- 容器部署Spring Cloud项目
- Python 爬虫篇-爬取网页中的图片,图片爬取实例演示。
- Python 爬虫进阶篇-4行代码实现爬取指定网站中的全部图片,深入剖析
- Python+selenium 自动化-基本环境搭建