Python编程从入门到实践
10.3异常
1.我们可以使用try-except-else模块来处理 Python程序中出现的异常,其中try需要放置在出错语句的前面。
10.6
print(‘Please input two numbers’)
number1=input(‘the first number\n’)
number2=input(‘the second number\n’)
输入2个数字让其相加,如果输入的不是整数会有异常,此时需要有异常处理,提示用户输入整数
try:
number1=int(number1)
number2=int(number2)
except ValueError:
print(‘Your input is ont a number,is a str,please input some numbers’)
else:
add=number1+number2
print('the add of number1 and number2 is '+str(add))
10.7
print(‘Please input two int numbers’)
#输入2个整数使其相加,当输入quit时退出程序,当输入的不是整数时会提示用户输入整数。
while True:
number1=input(‘the first number,if you want to quit,please input quit.\n’)
if number1 == ‘quit’:
break
number2=input(‘the second number,if you want to quit,please input quit.\n’)
if number2 == ‘quit’:
break
try:
number1=int(number1)
number2=int(number2)
except ValueError:
print(‘Your input is ont a number,is a str,please input some numbers’)
else:
add=number1+number2
print('the add of number1 and number2 is '+str(add))
10.8
def print_name(filemane):
#定义函数print_name,可以使其依次打出文件中所有的名字,同时程序中对读取不到的文件异常进行了处理
try:
with open(filemane) as f_obj:
contents=f_obj.read()
except FileNotFoundError:
print(‘the txt is not here’)
else:
words=contents.split()
#用split()函数把文件里的单词内容转化到列表中,使得其可以依次读取
for name in words:
print(str(name))
filemanes=[‘cats.txt’,‘dogs.txt’]
#依次读取各个文件内容
for filemane in filemanes:
print_name(filemane)
10.9
def print_name(filemane):
#定义函数print_name,可以使其依次打出文件中所有的名字,同时程序中对读取不到的文件错误直接pass
try:
with open(filemane) as f_obj:
contents=f_obj.read()
except FileNotFoundError:
pass
else:
words=contents.split()
#用split()函数把文件里的单词内容转化到列表中,使得其可以依次读取
for name in words:
print(str(name))
filemanes=[‘cats.txt’,‘dogs.txt’]
#依次读取各个文件内容
for filemane in filemanes:
print_name(filemane)
10.10
filename=‘wenzhang.txt’
#对读取不到文章做异常处理
try:
with open(filename) as f_obj:
contents=f_obj.read()
except FileNotFoundError:
print(‘The file is not here.’)
else:
#当文章可以读取时,对文章中的the进行计数,先进行小写转换,再计数以便于准确
words=contents.lower()
number=words.count(‘the’)
print("The number of ‘the’ in wenzhang is "+str(number))