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循环包括使用文件模块更改多个文件和/或目录的所 ...
随机推荐
- Python3.6连接mysql(一)
初次学习python,因为python连接mysql的时候,需要安装mysql驱动模块 之前按照廖雪峰网站上的方法安装mysql驱动的方法: MySQL官方提供了mysql-connector-pyt ...
- background-color:transparent
background-color没有none值 在工作中发现, 这样是没反应的, 要写这个样式才能去掉背景颜色() background-color属性详细链接: http://www.w3sch ...
- iOS系统NSNotificationCenter中的常用通知名称
//音频 AVF_EXPORT NSString *const AVAudioSessionInterruptionNotification //音频中断出现 AVF_EXPORT NSString ...
- c++代码检测工具
cppcheck是一款静态代码检查工具,可以检查如内存泄漏等代码错误,使用起来比较简单,即提供GUI界面操作,也可以与VS开发工具结合使用. 1.安装 一般会提供免安装版,安装完成后将cppcheck ...
- ES6 Reflect 与 Proxy
概述 Proxy 与 Reflect 是 ES6 为了操作对象引入的 API . Proxy 可以对目标对象的读取.函数调用等操作进行拦截,然后进行操作处理.它不直接操作对象,而是像代理模式,通过对象 ...
- python进阶之 进程&线程区别
1.进程创建方式 import time import os from multiprocessing import Process def func (): time.sleep(1) print( ...
- Spark MLlib之使用Breeze操作矩阵向量
在使用Breeze 库时,需要导入相关包: import breeze.linalg._ import breeze.numerics._ Breeze创建函数 //全0矩阵 DenseMatrix. ...
- NIO学习资料
五大IO模型 https://jiges.github.io/2018/02/07/%E4%BA%94%E5%A4%A7IO%E6%A8%A1%E5%9E%8B/ Getting started wi ...
- outlook2016用Exchange轻松绑定腾讯企业邮箱
系统版本:Win10 X64 1709 英文版 邮箱:Outlook2016 背景知识: 1.发送邮件均使用SMTP协议(SMTP 全称“Simple Mail Transfer Protocol”, ...
- Go 初体验 - channel.1 - 基本用法
channel 分为两种: 1. 无缓冲 channel 2. 缓冲 channel 无缓冲 channel 的使用必须遵循一个原则:推送和读取必须同时存在,否则就发生死锁 先上代码: 这里定义了一个 ...