循环与分支——python

循环结构
程序设计中,最能发挥计算机特长的结构:循环结构
需要重复进行某种运算,并且运算对象有规律变化的情况,使用循环结构

使用for n in range(2,10)时,不包括10

python中不支持直到型循环结构(后测循环实现)
在这里插入图片描述但可以通过while语句间接实现:

number = -1
while	number < 0 
	number = eval(input("Enter a positive number:"))

或者

while True:
	number = eval(input("Enter  a positive number:"))
	if x >= 0 : break;
	#若数字有效跳出循环,哨兵循环
	print("The number you entered was not positive")

注意:与Java、C区别最大的地方
<for… else: …> <while… else: …>语句与循环的搭配使用,else:后的表达式在for循环列表遍历完毕后或while 条件语句不满足的情况下执行,

# months.py
def main():
	for n in range(2,10):
    	for x in range(2,n):
        	print("({},{})\t".format(n,x))
        	if n%x == 0:
            	print(n,'equals',x,'*',n//x)
            	break;
    	else:
        	# loop fell through without finding a factor
        	print(n,'is a prime number')
main()

输出:
2 is a prime number
(3,2)
3 is a prime number
(4,2)
4 equals 2 * 2
(5,2)
(5,3)
(5,4)
5 is a prime number
(6,2)
6 equals 2 * 3
(7,2)
(7,3)
(7,4)
(7,5)
(7,6)
7 is a prime number
(8,2)
8 equals 2 * 4
(9,2)
(9,3)
9 equals 3 * 3

分支结构

if<condition1>:
	<case1 statements>
elif <condition2>:
	<case2 statements>
……
else:
	<default statements>

条件判断
循环和分支使用的条件循环语句这里使用的不是!、||、&&,而是布尔表达式not、or、and
布尔表达式满足或对与、与对或的分配律,满足德摩根定理

有时候寻找一个循环终止的条件比寻找一个循环继续的条件更容易,但是条件过于复杂,解决方法:
对布尔表达式使用几次德摩根定律

注意不要将while rep==‘y’ or rep==‘Y’, 错写成 while rep == ‘y’ or ‘Y’, 因为’Y’是一个非空串,永远为真

对于数字的0值默认为假,对于空字符串""默认为假,空序列默认为假。

python的布尔运算符为短路运算符,当前面的表达式已经可以得出该布尔表达式的真假时,布尔表达式便不再进行下去。
即x and y中,当x为假,则不在计算y的真假;
x or y中,当x为真,就不在判断y的真假。

举个栗子,当用户仅敲下回车键时,input()函数读入的串为空串,下面写一个函数,当用户输入为空时,将字符串赋值为vanilla

实现方法一:

ans = input("What flavor do you want [vanilla]:")
if ans :
	flavor = ans
else:
	flavor = "vanilla"

实现方法二:
ans = input(“What flavor do you want [vanilla]:”)
flavor = ans or “vanilla”

flavor=  input("What flavor do you want [vanilla]:") or "vanilla"

异常处理
当处理错误或特殊情况的分支语句过多,会导致主程序变得不清晰易读,于是,引入异常处理机制来解决程序运行时的错误。

Python解释器遇到一个try语句,它会尝试执行try语句体内的语句
如果没有错误,控制转到try-except后面的语句
如果发生错误,Python解释器会寻找一个符合该错误的异常语句,然后执行处理代码

try:
	<body>
except <ErrorType1>:
	<handler1>
except <ErrorType2>:
	<handler2>
except <ErrorType3>:
	<handler3>
except:
	<handler0>
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
【大纲】 0-1-课程内容和安排介绍 1-1-计算机的概念 1-2-程序设计语言概述 1-3-Python语言 1-4-Python开发环境配置 1-5-基本程序设计方法 1-6-理解问题的计算部分 1-7-温度转换程序实例 2-1-Python程序元素分析 2-2-程序编写模板 2-3-turtle库和蟒蛇绘制程序 2-4-蟒蛇绘制程序分析 2-5-函数库的引用 3-1-Python中类型的概念 3-2-数字类型 3-3-字符串类型 3-4-字符串的操作 3-5-元组类型 3-6-列表类型及操作 3-7-math库和random库 3-8-π的计算 4-1-1-程序基本结构 4-1-2-简单分支 4-1-3-多分支 4-1-4-异常处理设计 4-1-5-三者最大实例分析 4-2-1-基本循环结构 4-2-2-通用循环构造方法 4-2-3-死循环半路循环 4-2-4-布尔表达式 6-1-1-文件的基础 6-1-2-文件的基本处理 6-1-3-文件实例一 6-1-4-文件实例二 6-2-1-字典的基础 6-2-2-字典的操作 6-2-3-字典实例一 6-2-4-字典实例二 7-3-1-计算思维 7-3-2-自顶向下的设计 7-3-3-自底向上的执行 7-3-4-软件工程 7-3-5-敏捷开发方法 7-4-1-面向过程的程序设计 7-4-2-面向对象的程序设计 7-4-3-基本例子 7-4-4-面向对象的特点 8-6-1-基本介绍 8-6-2-图形对象概念 8-6-3-交互式图形用户接口 8-6-4-图形库的应用方法 8-6-5-Turtle库介绍 8-6-6-图形用户接口实例 8-6-7-Turtle实例 8-6-8-Turtle Art 第6章-函数与递归-1-函数定义 第6章-函数与递归-2-函数的调用和返回值 第6章-函数与递归-3-改变参数值的函数 第6章-函数与递归-4-程序结构和递归 第6章-函数与递归-5-函数实例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值