零基础学习Python 作业 第34章

0.Python中 ,else 语句能跟那些语句进行搭配?

   1. if  ........else

   2. while True:

       else

   3.for ....  in.....:

       else:

   4.try:

     except:

      else

 

 

 

 

 3.使用什么语句可以使你不毕在担心文件打开后却忘记关闭的尴尬?

with语句

try:
with open('My_File.txt','r') as f:
print(f.read())
except IOError as reason:
print('出错了:'+ str(reason))

 


 0.使用with 语句改写一下代码,让python去关心文件的打开和关闭。

# coding=UTF-8
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 = raw_input('请输入文件file1:')
file2 = raw_input("请输入文件file2:")
differ = file_compare(file1,file2)
print (differ)
if len(differ) == 0:
print('文件完全一致')

else:
print('两个文件共用%d处不同:'%(len(differ)))
for each in differ:
print('第 %d 行不一样'% (each))

 

# 分析
# 通讯录内容包含: 姓名, 电话, Email, 地址.....
# 通讯录功能包含: 查询, 新增, 删除
# 系统功能: 退出
print('|========欢迎进入通讯录========|')
print('|========1: 查询联系人========|')
print('|========2: 添加联系人========|')
print('|========3: 删除联系人========|')
print('|========4: 退出通讯录========|')
contacts = dict()
while 1:
number = raw_input('请输入查询数字:')
if int(number) == 4:
print("欢迎下次访问!")
break
if int(number)== 1:
namekey = raw_input('请输入查询联系人姓名:')
try:
print(namekey + ':'+ contacts[namekey])
except KeyError as r:
print('查询的客户不存在!')
if int(number)== 2:
Lxname = raw_input('请输入需要添加的联系人姓名2:')
try:
print(Lxname + ':'+ contacts[Lxname])
print('新增的联系人已经存在!')
if raw_input('是否修改用户资料(yes/no):') == 'yes':
#contacts[Lxname] = raw_input('请输入用户联系电话1:')
dianhua = raw_input('请输入用户联系电话1:')
contacts.update({Lxname:dianhua})
except KeyError:
contacts[Lxname] = raw_input('请输入用户联系电话2:')

if int(number)== 3:
deletename = raw_input('请输入需要删除的联系人姓名:')

try:
contacts.pop(deletename)
except KeyError as r:
print('输入的联系人不存在!')
#if deletename not in contacts:
#print('输入的联系人不存在!')
#else:
#contacts.clear()

 修改前:

# 分析
# 通讯录内容包含: 姓名, 电话, Email, 地址.....
# 通讯录功能包含: 查询, 新增, 删除
# 系统功能: 退出
print('|========欢迎进入通讯录========|')
print('|========1: 查询联系人========|')
print('|========2: 添加联系人========|')
print('|========3: 删除联系人========|')
print('|========4: 退出通讯录========|')
contacts = dict()
while 1:
number = raw_input('请输入查询数字:')
if int(number) == 4:
print("欢迎下次访问!")
break
if int(number)== 1:
namekey = raw_input('请输入查询联系人姓名:')
if namekey in contacts:
print(contacts[namekey])
else:
print('查询的客户不存在!')
if int(number)== 2:
Lxname = raw_input('请输入需要添加的联系人姓名:')
if Lxname in contacts:
print('新增的联系人已经存在!')
else:
LXtel = raw_input('请输入需要添加的联系人手机号:')
contacts1 = {Lxname:LXtel}
contacts.update(contacts1)
if int(number)== 3:
deletename = raw_input('请输入需要删除的联系人姓名:')
if deletename not in contacts:
print('输入的联系人不存在!')
else:
contacts.clear()
posted @ 2018-11-19 16:32  蘑菇慢慢  阅读(105)  评论(0)    收藏  举报