一个重复try语句的实验


实验目标如图所示,程序也很简单

wKioL1Z-BUrjYBi1AACzg40oEL4664.png

while 1:

    try:

        AAA=int(input("请输入一个整数:"))

        print("Good!")

        break

    except ValueError as reason:

        print("出错了,您出错的原因是:"+str(reason))

      print("请重新输入:")

        continue

这里要注意以下几点:

1)try语句和if语句的区别,try语句后接“要发生的事情”,而if语句是“先有语句,然后if/else”。

2)对于python 3.x的同好,while 1和while True的速度是一样的,但是在python 2.x里,while True是相比较要慢一丢丢,因为python 2.x里True不是关键词,是可以赋值的,这样程序每次启动都会先检查True/False是不是一个变量,这样会耽误那么半秒的时间。So,为了多省那么几秒钟,直接就while 1吧。

===================================分割线=========================================

这里有一个重要补充!!

try语句是一个try搭配一个动作,然后except一下,然后try搭配另一个动作,再except一下。如果一个try搭配好几十个动作,但是这好几十个动作里有一个出了错,导致系统卡死,单纯的依靠finally是没法补救的,因为之前的动作都已经打开了。

for instance:

    try:

        f=open("E:/Python/AAA/12345.txt")

        do something

    except(对应的Error):

        do something

    finally:

        f.close()

这个程序就是很标准的案例,虽然很常见但是他是错误的。因为一个try里有两个动作:“打开文件”和“do something”,若是do something出了问题,可以f.close()保存,但是若是在"打开文件"出了问题,如何F.close()?因为文件压根就没打开!

所以正确的代码如下:

   

try :
     f = open ( 'xxx' )
except :
     print 'fail to open'
     exit( - 1 )
try :
     do something
except :
     do something
finally :
     f.close()


你可能感兴趣的:(python,continue,关键词,except,公务员)