一、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流程控制与循环的更多相关文章

  1. python全栈 流程控制;while 循环 格式化输出 运算符 及编码

    python全栈开发 1循环 2break和continue的区别 3格式化输出 4运算符 5编码 一.流程控制while循环 while条件: 代码块(循环体) 1.死循环; while True; ...

  2. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

  3. Python基础之流程控制while循环

    目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...

  4. Python之流程控制——while循环

    Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...

  5. python流程控制for循环

    流程控制 for循环 #首先我们用一例子看下用while循环取出列表中值的方法 l=['a','b','c'] i=0 while i<len(l): print(l[i]) i+=1 #whi ...

  6. Python基础之:Python中的流程控制

    目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样 ...

  7. python中的流程控制

    目录 引言 流程控制的分类 分支结构 单if结构 if与else结构 if与elif与else结构 if分支的嵌套 循环结构 while循环 while + break循环 while + conti ...

  8. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  9. python基础之流程控制(2)

    今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...

  10. ansible-playbook流程控制-loops循环使用

    1. ansible-playbook流程控制-loops循环使用    有时你想要多次重复任务.在计算机编程中,这称为循环.common ansible循环包括使用文件模块更改多个文件和/或目录的所 ...

随机推荐

  1. java学习之路--StringBuffer常见的功能和实例

    ---恢复内容开始--- 储存 StringBuffer append();将指定数据作为参数添加到已有数据尾处 StringBuffer insert(index,数据):可以将数据插到指定的ind ...

  2. Spring-Boot数据库密码加密配置

    springboot集成mysql/oracle时需要在yml/properties中配置数据库信息,用户名密码是肯定有的,所以就涉及到密码的加密,当然不加密也是可以的,正如某位大佬所说的,不加密就像 ...

  3. git链接到远程github上

    Git链接到自己的Github(1)简单的开始 好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化. 1.在ubuntu ...

  4. python全栈开发 * 19 面向对象 知识点汇总 * 180701

    19 面向对象初识2 一.类的名称空间1.对象的名称空间对象的名称空间中有类对象指针,对象可以通过"类对象指针"找类中的"静态变量"(静态字段),也可以用对象找 ...

  5. pytorch入门与实践-2.2-CIFAR10分类网络

    1--数据载入 |----流程: DataSet->DataLoader->调用DataLoader |----DataLoader迭代器读不到数据,无报错,一直卡住的显现: DataLo ...

  6. Eclipse+pydev+手动安装

    1.Eclipse中手动安装pydev插件 解决:Eclipse版本中的windows-performance下面无法显示pydev的情况 1.Eclipse版本是:Version: Luna Ser ...

  7. jQuery设置时间格式

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  8. nexus2 配置

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  9. IIC - 【转载】对I2C总线的时钟同步和总线仲裁的深入理解

    对I2C总线的时钟同步和总线仲裁的深入理解 每一个IIC总线器件内部的SDA.SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起.其中输出为漏极开路的场效应管.输入缓冲为一只高输入阻抗的同 ...

  10. Cutterman - 最好用的切图工具

    Cutterman - 最好用的切图工具 http://www.cutterman.cn/zh/cutterman