Python初学(十三)
最近工作有些忙,所以更新的有些缓慢,这章我主要说下循环结构和异常处理的方法。
程序的循环结构
Python语言的循环结构包括两种:遍历循环和无限循环。
遍历循环使用保留字for依次提取遍历结构各元素进行处理;
无限循环使用保留字while根据判断条件执行程序。
遍历循环:for
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块,for语句的循环执行次数是根据遍历结构中元素个数确定的。
for<循环变量> in <遍历结构>:
<语句块>
遍历结构可以是字符串、文件、range()函数或组合数据类型等。
对于字符串,可以逐一遍历字符串的每个字符,基本使用方式瑞啊:
for<循环变量> in <字符串变量>:
<语句块>
使用range()函数,可以指定语句块的循环次数,基本使用方式如下:
for<循环变量> in range(<循环次数>):
<语句块>
遍历循环还有一种扩展模式,使用方法如下:
for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
当for循环正常执行之后,程序会继续执行else语句中的内容,else语句只在循环正常执行之后才执行并结束,因此可以在<语句块2>中放置判断循环执行情况的语句。
无锡循环:while
Python通过保留字while实现无限循环
while <条件>:
<语句块>
当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止,执行与while同级别缩进的后续语句。
>>>n = 0
>>>while n < 10:
print(n)
n=n+3
0
3
6
9
无限循环也有一种使用保留字else的扩展模式,使用方法如下:
while <条件>:
<语句块1>
else:
<语句块2>
在这种扩展模式中,当while循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。
s,idx="PY",0
while idx < len(s):
print("循环执行中: " + s[idx])
idx += 1
else:
s = "循环正常结束"
print(s)
至于循环得到的结果 大家可以去尝试下 毕竟自己动手了才能得到想要的
循环控制:break和continue
循环结构有两个辅助循环控制的保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后代码继续执行。
while True:
s = input("请输入一个名字(按Q退出): ")
if s == "Q":
break
print("输入的名字是:", s)
print("程序退出")
如果有2层或多层循环,break退出最内层循环。
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
for s in "PYTHON":
if s == "Y" or s == "y":
continue
print(s, end="")
尝试敲一遍 看看会输出什么?/?
continue语句和break语句的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。
程序的异常处理
Python程序一般对输入有一定要求,但当实际输入不满足程序要求时,可能会产生程序的运行错误。
这就是个错误的地方由于使用了eval()函数,如果用户输入不是一个数字则可能报错。这类由于输入与预期不匹配造成的错误有很多种可能,不能逐一列出可能性进行判断。为了保证程序运行的稳定性,这类运行错误应该被程序捕获并合理控制。
Python语言使用保留字try和except进行异常处理,基本的语法格式如下:
try:
<语句块1>
except:
<语句块2>
语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2。
try:
n = eval(input("请输入一个数字: "))
print("输入数字的3次方值为: ", n**3)
except:
print("输入错误,请输入一个数字!")
除了输入之外,异常处理还可以处理程序执行中的运行异常。
try:
for i in range(5):
print(10/i, end=" ")
except:
print("某种原因,出错了!")
可以看下,结果会走下面的异常提示,而不是出现崩溃现象了。
以上就是本章的内容了,基本上程序的控制结构的一些内容也就讲完了。