Learning-Python【4】:Python流程控制与循环
一、if...else分支
1、什么是if判断
判断一个条件如果成立则如何,不成立则如何
2、为何要有if判断
让计算机能像人一样具有判断能力
语法1:if...else
if 判断条件:
代码块1
else:
代码块2
语法2:if嵌套
if 条件1:
if 条件2:
代码块1
代码块2
语法3:if...elif...else
if 条件1:
代码块1
elif 条件2:
代码块2
else:
代码块3
二、while 循环
1、什么是循环
循环指的是一个重复做某件事的过程
2、为什么要有循环
为了让计算机能够像人一样重复做某件事
while 循环又叫条件循环,循环的次数取决于条件
语法:
while 判断条件:
代码块
上面这个循环是一个死循环,因为条件永远成立,会不停的执行下去,要想结束while循环,有两种方式:
方式一:操作 while 循环的条件让其结束。即设置一个标志位让其为 True,一旦想终止循环,让标志位为 False,等到下一次循环判断标志位不成立,就会结束循环
方式二:break 强行终止本层循环
例如:用户登录程序,登录失败超过三次则退出
方式一:
print("start...")
count = 0 while count < 3:
username = input("Please input your username: ")
password = input("Please input your password: ")
if username == 'qiuxi' and username == '':
print('登录成功')
break
else:
print('登录失败, 请重新登录')
count += 1 print('end....')
运行结果: start...
Please input your username: dsa
Please input your password: dsa
登录失败, 请重新登录
Please input your username: ei
Please input your password: qi
登录失败, 请重新登录
Please input your username: dsa
Please input your password: d
登录失败, 请重新登录
end....
方式二:
print("start...")
count = 0 while True:
if count == 3:
print("输入错误过多")
break
username = input("Please input your username: ")
password = input("Please input your password: ")
if username == 'qiuxi' and password == '':
print('登录成功')
break
else:
print('登录失败, 请重新登录')
count += 1 print('end....')
运行结果: start...
Please input your username: xi
Please input your password: 534
登录失败, 请重新登录
Please input your username: ha
Please input your password: ha
登录失败, 请重新登录
Please input your username: ca
Please input your password: dsa
登录失败, 请重新登录
输入错误过多
end....
continue:表示结束本次循环,进入下一次循环
# 打印1 2 3 5
count = 1
while count < 6:
if count == 4:
count += 1
continue
print(count, end=' ') # end=' '表示使print不换行打印
count += 1
注意:continue的位置,不能将它作为循环体最后一步执行的代码,否则continue不会起到作业
while True:
print('')
print('')
print('')
continue # continue不起作用
while - else的应用:当while循环正常执行完毕,不被break打断的情况下,会执行else语句的内容
print("start...")
count = 0
while count < 3:
username = input("Please input your username: ")
password = input("Please input your password: ")
if username == 'qiuxi' and username == '':
print('登录成功')
break
else:
print('登录失败, 请重新登录')
count += 1
else:
print("输错的次数过多") print('end....')
运行结果: start...
Please input your username: qi
Please input your password: 43
登录失败, 请重新登录
Please input your username: ad
Please input your password: jhg
登录失败, 请重新登录
Please input your username: cs
Please input your password: 765
登录失败, 请重新登录
输错的次数过多
end....
while循环嵌套
name_of_db = 'qiuxi'
pwd_of_db = ''
print("start...")
count = 0
while count < 3:
username = input("Please input your username: ")
password = input("Please input your password: ")
if username == name_of_db and password == pwd_of_db:
print('登录成功')
while True:
print('''
1 浏览商品
2 添加购物车
3 支付
4 退出
''')
choice = input("请输入你的操作: ")
if choice == '':
print("开始浏览商品...")
elif choice == '':
print("正在添加购物车...")
elif choice == '':
print("正在支付...")
elif choice == '':
break
break
else:
print('登录失败, 请重新登录')
count += 1
else:
print("输错的次数过多") print('end....')
运行结果: start...
Please input your username: qiuxi
Please input your password: 123
登录成功 1 浏览商品
2 添加购物车
3 支付
4 退出 请输入你的操作: 1
开始浏览商品... 1 浏览商品
2 添加购物车
3 支付
4 退出 请输入你的操作: 2
正在添加购物车... 1 浏览商品
2 添加购物车
3 支付
4 退出 请输入你的操作: 3
正在支付... 1 浏览商品
2 添加购物车
3 支付
4 退出 请输入你的操作: 4
end....
上面的代码,要想终止循环,每一个while都需要对应一个break,不好配对,使用设置标志位即可控制所有循环终止条件。
name_of_db = 'qiuxi'
pwd_of_db = ''
print("start...")
flag = True
count = 0
while flag:
if count == 3:
print("尝试次数过多")
break
username = input("Please input your username: ")
password = input("Please input your password: ")
if username == name_of_db and password == pwd_of_db:
print('登录成功')
while flag:
print('''
1 浏览商品
2 添加购物车
3 支付
4 退出
''')
choice = input("请输入你的操作: ")
if choice == '':
print("开始浏览商品...")
elif choice == '':
print("正在添加购物车...")
elif choice == '':
print("正在支付...")
elif choice == '':
flag = False else:
print('登录失败, 请重新登录')
count += 1 print('end....')
运行结果: start...
Please input your username: qiuxi
Please input your password: 123
登录成功 1 浏览商品
2 添加购物车
3 支付
4 退出 请输入你的操作: 1
开始浏览商品... 1 浏览商品
2 添加购物车
3 支付
4 退出 请输入你的操作: 4
end....
四、for 循环
Python的for循环主要用于取值,可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for <variable> in <sequence>:
<statements>
else:
<statements>
range( ) 函数
如果需要遍历数字序列,可以使用内置 range( ) 函数。它会生成数列,例如:
range( )也可以指定区间的值:
也可以使 range 以指定数字开始并指定不同的步长
可以结合 range( ) 和 len( ) 函数以遍历一个序列的索引
补充:Python2中 range( ) 和 Python3中 range( ) 的区别
Python2中 range( ) 函数可创建一个整数列表
Python3 range() 函数返回的是一个可迭代对象(后面会学到),而不是列表类型
但是可以利用 list 函数返回列表
Learning-Python【4】:Python流程控制与循环的更多相关文章
- python全栈 流程控制;while 循环 格式化输出 运算符 及编码
python全栈开发 1循环 2break和continue的区别 3格式化输出 4运算符 5编码 一.流程控制while循环 while条件: 代码块(循环体) 1.死循环; while True; ...
- Python基础之流程控制for循环
目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...
- Python基础之流程控制while循环
目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...
- Python之流程控制——while循环
Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...
- python流程控制for循环
流程控制 for循环 #首先我们用一例子看下用while循环取出列表中值的方法 l=['a','b','c'] i=0 while i<len(l): print(l[i]) i+=1 #whi ...
- Python基础之:Python中的流程控制
目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样 ...
- python中的流程控制
目录 引言 流程控制的分类 分支结构 单if结构 if与else结构 if与elif与else结构 if分支的嵌套 循环结构 while循环 while + break循环 while + conti ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- python基础之流程控制(2)
今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...
- ansible-playbook流程控制-loops循环使用
1. ansible-playbook流程控制-loops循环使用 有时你想要多次重复任务.在计算机编程中,这称为循环.common ansible循环包括使用文件模块更改多个文件和/或目录的所 ...
随机推荐
- iframe 加载外部资源,显示隐藏loading,onload失效
在项目中使用iframe 来加载外部资源,需要在iframe请求外部资源的时候,需要显示一个loading,在加载完成后,将这个loading隐藏掉,刚开始看到W3C中 iframe有一个 onloa ...
- oracle安装教程
首先下载oracle 12c的安装包(一共有两个组成),下载完之后将两个压缩文件解压到同一个目录下 https://pan.baidu.com/s/1ydsClsHv04RAwaoGmHrFVQ ht ...
- Consul的应用
Consul在集群上的每一个节点(包括Server和Client)都运行一个Agent,通过这个Agent可以进行对Consul所提供的功能的操作,通过调用一系列HTTP API与Agent的交互即可 ...
- vue问题大全
什么是 mvvm? MVVM 是 Model-View-ViewModel 的缩写.mvvm 是一种设计思想.Model 层代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑:View ...
- :after和:before 伪类
1 使用伪类画三角形 .div{ margin-top: 100px; margin-left: 100px; } .div:after{ content: ''; display:inline-bl ...
- Spring中IOC和AOP的详细解释(转)
原文链接:Spring中IOC和AOP的详细解释 我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂 ...
- align-item 和 align-content的区别
align-content 和 align-items : 1:共同点:它们对齐方向为交叉轴 2:不同点:align-content 应用于为 多行 而 align-items:应用于单行.
- Linux常用总结
CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Linux标准 ...
- iOS UI基础-21 WKWebView
WKWebView,直接显示网页,需要引入第三方类:https://github.com/marcuswestin/WebViewJavascriptBridge 加上进度条代码,很完美使用 webV ...
- lua常用方法收集
1. xlua之将c#集合转换成table -- 将c#的list转换成table local function ConvertCSListToTable(list) local t = {}; , ...