知识内容:

1.if-else分支结构

2.while循环

3.for循环

4.循环结构综述

5.break和continue语句

一、if-else分支结构

1.单分支选择结构

 if 表达式:
语句块

当表达式等价为True时表示条件满足,语句块将被执行

示例:

 x = input("Input two numbers: ")
a, b = map(int, x.split())
if a > b:
a, b = b, a
print(a, b)

2.双分支选择结构

 if 表达式:
语句块1
else:
语句块2

当表达式等价为True时表示条件满足,语句块1将被执行,否则语句块2将执行

示例:

 x = input("Input two numbers: ")
a, b = map(int, x.split())
if a > b:
a, b = b, a
else:
pass # 在python中pass表示不做任何操作
print(a, b)
 my_age = 21
if my_age > 50:
print("Too old! Time to retire!")
else:
print("还可以继续浪")

注: python中还有适用于简单表达式的二分支结构(也叫三元运算):

<表达式> if 条件 else 表达式2

eg:

 guess = eval(input(">>>"))

 print("猜{}了".format("对" if guess==99 else "错"))  # guess为99输出对  否则输出错

3.多分支选择结构

 if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
.
.
.
else:
语句块n

以上的elif是else if的缩写,示例如下:

 # __author__ = "wyb"
# date: 2018/3/11 def f(score):
if score > 90:
print("A")
elif score > 80:
print("B")
elif score > 70:
print("C")
elif score > 60:
print("D")
else:
print("E") f(83) # 输出结果: B

4.以上选择结构的嵌套

示例:  3数比较大小

 # __author__ = "wyb"
# date: 2018/2/24 # 输入三个整数,比较大小按从小到大的顺序输出 number1 = int(input(">>>"))
number2 = int(input(">>>"))
number3 = int(input(">>>")) if number1 < number2:
if number2 < number3:
print(number1, number2, number3)
elif number3 < number1:
print(number3, number1, number2)
else:
print(number1, number3, number2)
else:
if number1 < number3:
print(number2, number1, number3)
elif number2 < number3:
print(number2, number3, number1)
else:
print(number3, number2, number1)

注: 使用选择结构的嵌套一定要注意严格控制好不同级别的代码缩进量,因为不同的代码缩进量绝对了不同代码块的从属关系以及业务逻辑是否能很好地实现。

二、while循环

1.while循环语法

(1)普通的while循环

 while 条件表达式:
循环体

当条件表达式等价为True时循环体一直运行,等价为False时直接退出循环体

(2)带else子句的while循环

 while 条件表达式:
循环体
else:
代码块

上述循环中的else:

如果循环是从break终止,就跳出循环,不执行else中的代码块,如果循环正常结束就执行else中的代码块,for循环中的else

也是一样的原理

2.while循环示例

死循环:

 while True:
print("我爱你啊")

写while循环要尽量避免上述的死循环,可以在while后面的条件表达式中设置退出条件或者在循环体中设置break语句来退出循环体

登陆验证:

 # __author__ = 'wyb'
# date: 2018/3/11 user = "wyb"
pwd = ""
counter = 0
while counter < 3: # counter == 3 时退出循环体并执行else子句
# 输入用户名及密码:
username = input("Username:")
password = input("Password:")
# 用户名及密码正确:
if username == user and password == pwd:
print("Welcome %s login...." % user)
break # 跳出,中断
# 用户名及密码有任一项不正确或都不正确:
else:
print("Invalid username or password !")
counter += 1
# counter == 3 时用户选择是否继续
if counter == 3:
keep_going_choice = input("还想玩么?[y/n]")
if keep_going_choice == "y":
counter = 0 else:
print("要不要脸,臭流氓啊,小虎。")

三、for循环

1.for循环语法

(1)普通for循环

 for 取值 in 序列或迭代对象:
循环体

枚举或遍历序列中的每一个值,或迭代对象中所有元素

(2)带else子句的for循环

 for 取值 in 序列或迭代对象:
循环体
else:
代码块

上述循环中的else:

如果循环是从break终止,就跳出循环,不执行else中的代码块,如果循环正常结束就执行else中的代码块,while循环中的else

也是一样的原理

2.range函数

语法:  range(end)或range(start, end)或range(start, end, step)

range函数根据给定的参数产生一系列整数,返回一个range对象,range对象类似于生成器,生成器利用了堕性计算的机制,不会一次性计算出所有的值,而是用多少就算多少。range函数一般都是与for循环连用。

start->起始值(包括,缺省时默认为0)

end->终止值(不包括,必须有的参数)

step->步长(默认为1)

 # range函数示例
for i in range(10):
print(i, end=' ')
print() for i in range(3, 9):
print(i, end=' ')
print() for i in range(1, 10, 2):
print(i, end=' ')
print() for i in range(10, 0, -1):
print(i, end=' ')
print() for i in range(10, 0, -2):
print(i, end=' ')
print()
# 输出结果:
# 0 1 2 3 4 5 6 7 8 9
# 3 4 5 6 7 8
# 1 3 5 7 9
# 10 9 8 7 6 5 4 3 2 1
# 10 8 6 4 2

3.for循环示例

遍历列表输出所有元素:

 mylist = [1, 'wyb', 'k', 666]
for item in mylist:
print(item, end=" ")
else:
print("正常结束") # 输出结果: 1 wyb k 666 正常结束

求100以内的所有奇数的和(2500):

 # 求100以内所有奇数的和(2500):
sum_odd = 0
for i in range(1, 100, 2):
sum_odd += i
else:
print(sum_odd)

四、循环结构综述

1.while循环和for循环

关于while循环和for循环,while循环一般用于循环次数难以确定的情况下,当然也可以用于循环次数确定的情况,for循环一般用于循环次数确定的情况,尤其适用于

枚举或遍历序列或迭代对象中每一个元素的情况下,编程中建议多使用for循环,因为使用for循环可以对循环的起始和终止看的更清楚

2.循环结构的嵌套

另外相同或不同的循环结构之间也可以互相嵌套,也可以和选择结构嵌套使用,实现更复杂的逻辑

示例:

 # __author__ = "wyb"
# date: 2018/3/11
# 交换运算符: x, y = y, x 直接交换两个变量的内容无需用到中间变量 # 实现从小到大排序
mylist = [4, 0, 3, -13, 5, 8, 31]
print("before sort:")
print(mylist) len_list = len(mylist)
for i in range(0, len_list-1):
for j in range(i+1, len_list-1):
if mylist[i] > mylist[j]:
mylist[i], mylist[j] = mylist[j], mylist[i] print("after sort:")
print(mylist)

3.循环结构的优化

(1)为优化程序以获得更高的效率和运行速度,在编写循环语句时,应尽量减少循环体内部不必要的计算,将与循环变量无关的代码尽量移到循环之外。对于使用了

多层循环嵌套的情况下,应尽量减少内层循环不必要的计算,尽可能地将循环往外提。

比如在以下的代码中,第二种明显比第一种的运行效率更高:

 # __author__ = "wyb"
# date: 2018/3/11 import time
digits = [1, 2, 3, 4] result = []
start = time.time()
for v in range(1000):
for i in digits:
for j in digits:
for k in digits:
result.append(i*100+j*10+k)
print(time.time()-start)
print(result)
 # __author__ = "wyb"
# date: 2018/3/11 import time
digits = [1, 2, 3, 4] result = []
start = time.time()
for v in range(1000):
for i in digits:
i = i * 100
for j in digits:
j = j * 10
for k in digits:
result.append(i+j+k)
print(time.time()-start)
print(result)

(2)在循环中尽量引用局部变量,因为局部变量的查询和访问速度比全局变量稍微快一点,另外在使用模块中的方法时可以通过将其转换成局部变量来提高运行速度

示例:

 # __author__ = "wyb"
# date: 2018/3/11 import time
import math start = time.time()
for i in range(100000):
math.sin(i)
print("Time Used:", time.time()-start) loc_sin = math.sin
start = time.time()
for i in range(100000):
loc_sin(i)
print("Time Used:", time.time()-start)

五、break和continue语句

break -> 提前结束整个循环

continue -> 终止本次循环忽略continue语句之后的所有语句直接回到循环的顶端,开始新的一次循环

示例:

 # __author__ = 'wyb'
# date: 2018/3/11 exit_flag = False for i in range(10):
if i < 5:
continue
print(i)
for j in range(10):
print("layer2", j)
if j == 6:
exit_flag = True
break
if exit_flag:
break

break与continue的区别:

break用于完全结束一个循环,直接跳出循环体执行循环体后面的语句

而continue和break有点类似,区别在于continue只是终止本次循环,接着还会执行后面的循环,break则完全终止循环

python的分支循环的更多相关文章

  1. Python入门-分支循环结构

    编写代码的过程中,除了基本的变量,数据类型,在实际开发中,大量代码是根据判断条件,进而选择不同的的向前运行方式. 这些向前的运行方式基本分为两种:分支结构,循环结构 1.分支结构 if单分支结构 # ...

  2. 一文了解Python中的循环(for while break continue 嵌套循环...)

    循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行 ...

  3. python中的循环以及,continue和break的使用

    循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行 ...

  4. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  5. Python之 for循环\while循环

    list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print ...

  6. Python进阶05 循环设计

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...

  7. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  8. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  9. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

随机推荐

  1. OK335xS-Android pack-ubi-256M.sh hacking

    #/******************************************************************************* # * OK335xS-Androi ...

  2. can-utils源码解析cansend

    前言 本文主要介绍socketCan中的发送函数cansend的源码解析. 代码 /* * cansend.c - simple command line tool to send CAN-frame ...

  3. 20155336 2016-2017-2《JAVA程序设计》第九周学习总结

    20155336 2016-2017-2<JAVA程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连接 ...

  4. 20155225 2016-2017-2 《Java程序设计》第五周学习总结

    20155225 2006-2007-2 <Java程序设计>第五周学习总结 教材学习内容总结 使用try.catch异常处理,异常处理继承架构等 使用Collection收集对象,了解C ...

  5. 关于FormData及其用法

    XMLHttpRequest Level 2添加了一个新的接口FormData.利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttp ...

  6. StyleCop 是什么,可以帮助团队带来什么价值?

    StyleCop 本质上是一个 C# 源代码规则分析器,可以帮助团队成员强制执行一组代码样式和一致性规则. 本文将简述 StyleCop 以及它能为团队带来的价值. 本文内容 StyleCop 是什么 ...

  7. hdu2602 DP (01背包)

    题意:有一个容量 volume 的背包,有一个个给定体积和价值的骨头,问最多能装价值多少. 经典的 01 背包问题不谈,再不会我就要面壁了. 终于有一道题可以说水过了 ……心好累 #include&l ...

  8. LeetCode-Microsoft-Populating Next Right Pointers in Each Node

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  9. jquery选择器总结2

    1.JQuery的概念 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用一些简单的代码实现一些复杂的JS效果. 2.JQuery实现了 代码的分离 不用再网页 ...

  10. Ubuntu 16.04下指定Sublime Text 3 默认python编译版本

    安装PackageResourceViewer插件 输入 Ctrl+Shift+P 输入install,选择Package Control: Install Package 选择PackageReso ...