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循环包括使用文件模块更改多个文件和/或目录的所 ...
随机推荐
- 验证IP地址的有效性
实力说明 IP地址是网络上每台计算机的标识,在浏览器中输入的网址也是要经过DNS服务器转换为IP地址才能找到服务器. 关键技术 正则表达式
- Nginx打卡
Nginx打卡 此括号中的是干货 [ 直接说最关心的事:如何去掉访问路径的端口号? 答案:使用Nginx啊 具体安装还需看底下啰嗦的东东,安装OK且完美启动的同学,server proxy_pass ...
- js运用4
---恢复内容开始--- 1.函数 关键字function 复习 var 是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成. var可以在内存模块提前(js代码执行 ...
- stm32f769ni-discovery编译例程需要修改
找不到cmsis_os.h: 方法:在pack文件夹下找cmsis_os.h文件,有四个,选RTOS2文件夹下的. 原因:cmsis_os2.h是新版本,cmsis_os.h封装了cmsis_os2. ...
- 程序员调 Bug 的样子,非常真实
程序员调 Bug 的样子,非常真实
- [qemu][kvm] 在kvm嵌套kvm的虚拟机里启动kvm加速
常规情况下,如果在kvm的虚拟机里,又想使用kvm的虚拟机,会报如下的错误信息: [root@host0 nlb]# Could not access KVM kernel module: No su ...
- 20.0-uC/OS-III移植
1.CPU移植要求: 1) 处理器有对应的能产生可重入代码的C编译器2) 处理器支持中断且能提供周期性的中断(通常介于10到1000Hz之间). 3) 可以关中断和开中断4) 处理器支持存储和载入堆栈 ...
- jsr-303 参数校验-学习(转)
1.是什么? JSR303 是一套 JavaBean 参数校验的标准,它定义了很多常用的校验注解,比如: ----------------------------------------------- ...
- Mac 报错:-bash: telnet: command not found
解决方法 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/i ...
- openshift 容器云从入门到崩溃之八《日志聚合》
日志可以分为两部分 业务日志 业务日志一般是要长期保留的,以供以后有问题随时查询,elk是现在比较流行的日志方案,但是容器日志最好不要落地所以不能把logstash客户端包在容器里面 可以使用logs ...