鱼C论坛

 找回密码
 立即注册
查看: 15760|回复: 79

[作品展示] 交作业啦,写了快一小时,汗颜>>>通讯录

[复制链接]
发表于 2015-1-2 13:34:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 hacker.jin 于 2015-1-2 13:51 编辑
  1. |--- 鱼C出品,必属精品  ---|
  2. |--- 欢迎进入通讯录程序 ---|
  3. |--- 1>查询联系人资料   ---|
  4. |--- 2>插入新的联系人   ---|
  5. |--- 3>删除已有联系人   ---|
  6. |--- 4>退出通讯录程序   ---|
  7. 请输入序号(1-4)以选择功能:5
  8. |---->>>输入 有误<<<----|
  9. |--- 鱼C出品,必属精品  ---|
  10. |--- 欢迎进入通讯录程序 ---|
  11. |--- 1>查询联系人资料   ---|
  12. |--- 2>插入新的联系人   ---|
  13. |--- 3>删除已有联系人   ---|
  14. |--- 4>退出通讯录程序   ---|
  15. 请输入序号(1-4)以选择功能:2
  16. 输入姓名:kangjin
  17. 请输入联系方式:10086
  18. |--- 鱼C出品,必属精品  ---|
  19. |--- 欢迎进入通讯录程序 ---|
  20. |--- 1>查询联系人资料   ---|
  21. |--- 2>插入新的联系人   ---|
  22. |--- 3>删除已有联系人   ---|
  23. |--- 4>退出通讯录程序   ---|
  24. 请输入序号(1-4)以选择功能:1
  25. 输入姓名:kangjin
  26. -->>kangjin:10086
  27. |--- 鱼C出品,必属精品  ---|
  28. |--- 欢迎进入通讯录程序 ---|
  29. |--- 1>查询联系人资料   ---|
  30. |--- 2>插入新的联系人   ---|
  31. |--- 3>删除已有联系人   ---|
  32. |--- 4>退出通讯录程序   ---|
  33. 请输入序号(1-4)以选择功能:3
  34. 请输入要删除的姓名:kangjin
  35. 删除kangjin成功!
  36. |--- 鱼C出品,必属精品  ---|
  37. |--- 欢迎进入通讯录程序 ---|
  38. |--- 1>查询联系人资料   ---|
  39. |--- 2>插入新的联系人   ---|
  40. |--- 3>删除已有联系人   ---|
  41. |--- 4>退出通讯录程序   ---|
  42. 请输入序号(1-4)以选择功能:4
  43. |--- I Love FishC.com   ---|
复制代码













游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 2荣誉 +5 鱼币 +5 贡献 +4 收起 理由
新手·ing + 3 + 3 + 3 支持楼主!
wei_Y + 2 + 2 + 1 支持楼主!

查看全部评分

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

使用道具 举报

发表于 2015-1-2 14:43:11 | 显示全部楼层
互相参考
  1. from os import system
  2. if len(open('通讯录.txt').read()) == 0:
  3.         open('通讯录.txt', 'w').write('{}')
  4. TXL, orders, order = eval(open('通讯录.txt').read()), [str(i) for i in xrange(5)], None
  5. print('|--- 欢迎进入通讯录程序 ---|\n|--- 0:退出通讯录程序  ---|\n|--- 1:查询联系人资料  ---|\n|--- 2:插入新的联系人  ---|\n|--- 3:删除已有联系人  ---|\n|--- 4: 查看整个通讯录  ---|')
  6. while order != 0:
  7.         order, ots = input('请输入指令序号: '), True
  8.         while order not in orders:
  9.                 order = input('输入错误!\n请输入指令序号: ')
  10.         order = int(order)
  11.         if order == 1:
  12.                 name = input('请输入联系人姓名: ')
  13.                 if name in TXL:
  14.                         print('%s : ' % name, TXL[name])
  15.                 else:
  16.                         if input('您要查找的用户不存在!是否添加?(Yes/No): ') == 'Yes':
  17.                                 order, ots = 2, False
  18.         if order == 2:
  19.                 if ots:
  20.                         name = input('请输入联系人姓名: ')
  21.                 if name in TXL:
  22.                         print('您输入的姓名在通讯录中已存在: -->> %s : ' % name, TXL[name])
  23.                         if input('是否修改用户资料?(Yes/No): ') == 'Yes':
  24.                                 TXL[name] = input('请输入用户联系电话: ')
  25.                 else:
  26.                         TXL.setdefault(name, input('请输入用户联系电话: '))
  27.         if order == 3:
  28.                 name = input('请输入联系人姓名: ')
  29.                 if name in TXL:
  30.                         del TXL[name]
  31.                         print('删除成功!')
  32.                 else:
  33.                         print('您要删除的用户不存在!')
  34.         if order == 4:
  35.                 if len(TXL):
  36.                         for i in TXL.items():
  37.                                 print('%s : ' % i[0], i[1])
  38.                 else:
  39.                         print('通讯录是空的!')
  40.         if order == 0:
  41.                 break
  42.         open('通讯录.txt', 'w').write(str(TXL))
  43.         print()
  44. print('|--- 感谢使用通讯录程序 ---|\n作者: Pythoner_George')
  45. system('pause') #第一句import进的, cmd命令
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-2 15:05:30 | 显示全部楼层



貌似我的比较简洁!~~~~~~~~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-2 15:06:15 | 显示全部楼层
hacker.jin 发表于 2015-1-2 15:05
貌似我的比较简洁!~~~~~~~~~~~
  1. account = {}
  2. n=1

  3. def print_menu():
  4.    print('|---->>新建用户:N/n<<----|')
  5.    print('|---->>登陆账号:E/e<<----|')
  6.    print('|---->>退出程序:Q/q<<----|')
  7.    return str(input('|---->>输入指令:'))
  8.    
  9. def new():
  10.    name = str(input('设置账号:'))
  11.    if name in account:
  12.       name = str(input('该账号已被使用,请重新设置:'))
  13.    account[name] = str(input('设置密码:'))
  14.    print('注册成功!')
  15.    
  16. def enter():
  17.    name = str(input('输入账号:'))
  18.    mima = str(input('输入密码:'))
  19.    print('正在验证密码!')
  20.    if mima == account[name]:
  21.       print('登录成功!')
  22.    else:
  23.       print('密码错误!')


  24. while n:
  25.    i = print_menu()

  26.    if i == 'N' or i == 'n':
  27.       new()
  28.    elif i == 'E' or i == 'e':
  29.       enter()
  30.    elif i == 'Q' or i == 'q':
  31.       n=0
  32.    else:
  33.       print('指令有误!')
复制代码


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

使用道具 举报

发表于 2015-1-2 15:32:53 | 显示全部楼层

我用了pickle模块存储用户(下次打开用户还在), 31讲会介绍
  1. import os, pickle
  2. if not os.path.exists('用户.pickle'):
  3.         with open('用户.pickle', 'wb') as FILE:
  4.                 pickle.dump(dict(), FILE)
  5. Show_menu, orders, users = lambda : input('|--- 新建用户:N ---|\n|--- 登录账号:E ---|\n|--- 退出程序:Q ---|\n|--- 请输入指令代码:'), ('N', 'E', 'Q'), pickle.load(open('用户.pickle', 'rb'))
  6. def New_user():
  7.         global users
  8.         name = input('请输入用户名: ')
  9.         while name in users:
  10.                 name = input('此用户名已被使用, 请重新输入用户名: ')
  11.         users.setdefault(name, input('请输入密码: '))
  12.         print('注册成功! 赶紧试试登陆吧^_^\n')
  13. def User_login():
  14.         correct = True
  15.         name = input('请输入用户名: ')
  16.         while name not in users:
  17.                 name = input('该用户不存在! 请重新输入: ')
  18.         password = input('请输入密码: ')
  19.         while password <> users[name]:
  20.                 if input('密码不正确! 是否重新输入?(Y/N): ') == 'Y':
  21.                         password = input('请输入密码: ')
  22.                 else:
  23.                         correct = False
  24.                         break
  25.         if correct:
  26.                 print('欢迎您进入XX系统! 请输入Q退出本程序( ̄▽ ̄)')
  27.         print()
  28. def New_order():
  29.         order = Show_menu()
  30.         while order not in orders:
  31.                 order = input('没有这条指令!\n|--- 请输入指令代码:')
  32.         return order
  33. order = None
  34. while order <> 'Q':
  35.         order = New_order()
  36.         New_user() if order == 'N' else User_login() if order == 'E' else None
  37.         with open('用户.pickle', 'wb') as FILE:
  38.                 pickle.dump(users, FILE)
  39. print('|--- 感谢您使用此程序 ---|\n作者: Pythoner_George')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-2 15:38:03 | 显示全部楼层
本帖最后由 戴宇轩 于 2015-1-2 15:40 编辑

不过要是你那样写, 如果新注册一个账户, 原来的账户会被覆盖掉。
不过你写得比我的简洁多了, 加油!还有, 我的脚本19和34行的 <> 都改成 != 我习惯写Python 2 脚本了……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-2 17:19:01 | 显示全部楼层
戴宇轩 发表于 2015-1-2 15:38
不过要是你那样写, 如果新注册一个账户, 原来的账户会被覆盖掉。
不过你写得比我的简洁多了, 加油!还有, ...

那个地方忘了~~~~~~~~~~~~~赶时间看视频
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-2 18:08:57 | 显示全部楼层
一个小时不算多
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-2 18:23:08 From FishC Mobile | 显示全部楼层
赞一个,加油⊙▽⊙
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-2 21:26:26 | 显示全部楼层
这样也可以!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-3 23:24:08 | 显示全部楼层
看起来非常不错啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-4 09:53:22 | 显示全部楼层
感谢分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-4 10:09:45 | 显示全部楼层
非常感谢楼主分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-4 10:33:20 | 显示全部楼层
挺好
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-1-4 16:16:58 | 显示全部楼层
这些是第几课的呀!~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-4 16:34:29 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-4 22:35:03 | 显示全部楼层
666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-1-4 23:19:57 | 显示全部楼层
两包烟的钱,把不了妹买不了田,不如拿来支持小甲鱼推出更多原创教学视频!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-5 00:47:00 | 显示全部楼层
geiligeili
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-5 17:39:43 | 显示全部楼层
.......................DA F
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-21 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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