鱼C论坛

 找回密码
 立即注册
查看: 2537|回复: 0

[学习笔记] python基础第34讲els语句及with语句动动手

[复制链接]
发表于 2020-8-24 13:46:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. '''
  2. 0. 使用 with 语句改写以下代码,让 Python 去关心文件的打开与关闭吧。
  3. '''
  4. ''' def file_compare(file1, file2):
  5.     with open(file1) as f1, open(file2) as f2:#这里学到了
  6.         count = 0 # 统计行数
  7.         differ = [] # 统计不一样的数量,这两行放with上面好像也可以吧
  8.         for line1 in f1:
  9.             line2 = f2.readline()
  10.             count += 1
  11.             if line1 != line2:
  12.                 differ.append(count)

  13.     return differ

  14. file1 = input('请输入需要比较的头一个文件名:')
  15. file2 = input('请输入需要比较的另一个文件名:')

  16. differ = file_compare(file1, file2)

  17. if len(differ) == 0:
  18.     print('两个文件完全一样!')
  19. else:
  20.     print('两个文件共有【%d】处不同:' % len(differ))
  21.     for each in differ:
  22.         print('第 %d 行不一样' % each) '''

  23. '''
  24. 1. 你可以利用异常的原理,修改下面的代码使得更高效率的实现吗?
  25. '''
  26. print('|--- 欢迎进入通讯录程序 ---|')
  27. print('|--- 1:查询联系人资料  ---|')
  28. print('|--- 2:插入新的联系人  ---|')
  29. print('|--- 3:删除已有联系人  ---|')
  30. print('|--- 4:退出通讯录程序  ---|')

  31. contacts = dict()

  32. while 1:
  33.     instr = int(input('\n请输入相关的指令代码:'))
  34.    
  35.     if instr == 1:
  36.         name = input('请输入联系人姓名:')
  37.         try:
  38.             print(name + ' : ' + contacts[name])
  39.         except KeyError:
  40.             print('您输入的姓名不再通讯录中!')

  41.     if instr == 2:
  42.         name = input('请输入联系人姓名:')
  43.         try:
  44.             contacts[name]#这样也能报错,长见识了
  45.             print('您输入的姓名在通讯录中已存在 -->> ', end='')
  46.             print(name + ' : ' + contacts[name])
  47.             if input('是否修改用户资料(YES/NO):') == 'YES':
  48.                 contacts[name] = input('请输入用户联系电话:')
  49.         except KeyError:
  50.             contacts[name] = input('请输入用户联系电话:')

  51.     if instr == 3:
  52.         name = input('请输入联系人姓名:')
  53.         try:
  54.             del(contacts[name])
  55.         except KeyError:
  56.             print('您输入的联系人不存在。')
  57.             
  58.     if instr == 4:
  59.         break

  60. print('|--- 感谢使用通讯录程序 ---|')

复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 03:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表