第034讲: 异常处理:你不可能总是对的2 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛)
《零基础入门学习Python》

测试题:
在这里插入图片描述
在python中,
1、elseif 语句搭配,构成 “如果条件成立则怎么样,或者怎么样”
2、else 和 (for或者while语句循环),构成“循环条件完成后干什么,否则不能干什么”
3、else异常处理 try 搭配 ,构成“没有问题那就干吧”
在这里插入图片描述
会跳过else语句,因为当else语句和while连用时,只有当所有循环全部执行结束时,才会才会执行else中的内容,而break是直接跳出循环,所以不会。
在这里插入图片描述
会打印出(因为try语句中没有异常):
‘ABC’
‘GHI’
‘JKL’
在这里插入图片描述
使用with语句,例子:

try:
	with open ('data.txt','w') as f :
		for each_line in f :
			print (each_line)
except OSError as reason :
	print ("出错啦:"+ str(reason))

在这里插入图片描述
with语句会自动处理文件的打开和关闭,如果中途出现问题,会执行清理代码,然后确保文件自动关闭
在这里插入图片描述

with A() as a,B() as b :
	suite

动动手:
在这里插入图片描述

def file_compare ( file1 , file2 ) :
    with open(file1) as f1 , open(file2) as f2 :
        count = 0 #统计行数
        differ = [] #统计不一样的数量
        
        for line1 in f1 :
            line2= f2.readline()
            count  += 1 
            if line1 != line2 :
                differ.append(count)
        
        return differ

file1 = input ("请输入需要比较的头一个文件名:")
file2 = input ("请输入需要比较的另一个文件名:")
differ = file_compare(file1,file2)

if len(differ) == 0:
    print("这两个文件完全一样!")
else :
    print("两个文件共有【%d】处不同" %len(differ))
    for each in differ :
        print("第 %d 行不一样" % each)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

def tonguxnlu() :
    print("|---欢迎进入通讯录程序---|")
    print("|---1:查询联系人资料 ---|")
    print("|---2:插入新的联系人 ---|")
    print("|---3:删除已有联系人 ---|")
    print("|---4:退出通讯录程序 ---|")
    dict1 = {}
    zhongzhi = True
    while zhongzhi == True :
        temp1 = int (input ("请输入相关的指令代码:"))
        if temp1 == 1 :
            lianxiren = input ("请输入查询联系人的姓名:")
            try :
                print (lianxiren + ':' +dict1[lianxiren],end ="\n\n") 
            except KeyError :
                print ("查询失败,此人不再通讯录中!")

        elif temp1 == 2:
            lianxiren = input ("请输入联系人姓名:")
            try :
                print ("您输入的姓名在通讯录中存在 -->> ", dict1[lianxiren])
                temp2 = input ("是否修改用户资料(YES/NO):")
                if temp2 == 'YES' :
                    lianxidianhua = input ("请输入用户联系电话:")
                    dict1[lianxiren] = lianxidianhua
                    print ("修改成功!")
                    print ("\n")
                else :
                    print ("\n")
                    continue
            except KeyboardInterrupt : 
                dict1[lianxiren] = input ("请输入用户联系电话:")
                print ("\n")

        elif temp1 == 3:
            lianxiren = input ("请输入要删除的联系人姓名:")
            try :
                del dict1[lianxiren]
                print ("删除成功!")
                print ("\n")
            except KeyboardInterrupt :
                print ("删除失败此联系人不再通讯录中!")

        elif temp1 == 4:
            print ("|---感谢使用通讯录程序---|")
            zhongzhi = False
            
tonguxnlu()

猜你喜欢

转载自blog.csdn.net/qq_38970783/article/details/86544570