python 小试牛刀之信息管理
这个是之前写的半成品,但是一直没有好好的写完,今晚我把它补充完整,并且贴出了遇到的问题
这个程序并没有处理中文,主要是python 2.7对于中文的支持太蛋疼了,虽然可以设置utf8编码,但是如果列表中的某个变量是中文的话,打就会打印出那种我看不懂的编码,我干脆懒得理了,我想自己用python来处理中文的需求基本没有,可能以后就是用python谢谢程序玩玩而已
#!/usr/bin/python
# -*- coding: utf-8 -*-
from os import system
system("clear") def menu():
print "\t Welcome to the Information Management Center"
print "\t\t\t1.Add user"
print "\t\t\t2.View information"
print "\t\t\t3.Delete user"
print "\t\t\t4.Display all information" def search():
flag=0
username=raw_input('Please enter the name that you wanna view: ')
print info.get(username,'Sorry,i can not find it')
raw_input('Press enter to continue')
def add():
name=raw_input('NAME: ')
for temp in info:
if name==temp:
raw_input('The name you enterd already exist!(Press enter to continue)')
return
birth=input('BIRTHDAY: ')
job=raw_input('OCCUPATION: ')
info[name]=(birth,job)
print 'done'
raw_input('Press enter to continue')
def delete():
flag=0
name=raw_input('Enter the name what you want to delete: ')
#for temp in info:这样迭代并且删除有问题
for temp in info.keys():
if name==temp:
flag=1
del info[name]
print 'done'
raw_input('Press enter to continue')
if flag==0:
print 'I can not find the user.'
raw_input('Press enter to continue')
def showall():
flag=0
for name in info:
flag=1
print name,info[name]
if flag==0:
print 'No data'
raw_input('Press enter to continue') info={}
info['tcstory']=(1993,"student")
while 1:
menu()
try:
choice=input("Enter your choice(q to quit): ")
if int(choice)!=choice and abs(choice)+choce==0:
print 'Please enter the correct option\n'
system("clear")
continue
except (NameError,ValueError,SyntaxError): #syntaxerror 是为了防止一开始就直接输入回车键引起的错误
print "OKey,goodbye!"
break
if choice==1:
add()
system('clear')
elif choice==2:
search()
system('clear')
elif choice==3:
delete()
system('clear')
elif choice==4:
showall()
system('clear')
else:
print 'Your choice is invalid.'
之前遇到了一个问题,就是删除某个键的时候出错了

百度了一下,这个博客给出了解决的方法
http://www.cnblogs.com/codeape/archive/2012/11/21/2780534.html
接下来我还要对这个程序进行修改,1.把所用到的函数放入一个模块中,2.从文件中读取数据和吧数据写入文件中
这个是明天的工作,今晚还要学习english和看python 的模块和文件操作部分,并且还要看一下vim 中syntaxtic 的插件的使用方法
python 小试牛刀之信息管理的更多相关文章
- Python 小试牛刀,Django详细解读,让你更快的掌握它!!!
一.MVC和MTV模式 MVC:将web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的对象(ORM),视图负责与用户的交 ...
- 【Python小试牛刀】循环
1.斐波那契数列 斐波那契数列,数列前两项为1,之后每一项都是前两项之和. #!/usr/bin/env python3 a, b = 0, 1 while b < 100: print(b) ...
- 新手Python第二天(存储)
Python 列表的创建 创建一个空列表 例如:fruit=[] 创建一个有元素的列表 例如:fruit=['apple','banana','cherry'] 创建嵌套列表 例如:fruit=[[ ...
- Python函数案例——员工信息管理
员工信息管理 简单的员工信息增删改查程序 表信息 1,Alex Li,22,13651054608,IT,2013‐04‐01 2,Jack Wang,28,13451024608,HR,2015‐0 ...
- Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)
Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对And ...
- Python&R:警告信息管理
计算机程序有时很人性化,比如给你警告提示信息: 计算机程序有时又非常不人性化,比如动不动就给你警告提示...... 如果你的程序是要给客户使用,有运行美化要求: 再尤其是比如警告出现在循环里的情况,那 ...
- 初试Python语法小试牛刀之冒泡排序
Python很火,心里很慌,没吃过猪肉,也要见见猪走路. 看了几天Python的语法,大概初步了解了一点点,https://www.liaoxuefeng.com/wiki/0014316089557 ...
- Python爬虫之小试牛刀——使用Python抓取百度街景图像
之前用.Net做过一些自动化爬虫程序,听大牛们说使用python来写爬虫更便捷,按捺不住抽空试了一把,使用Python抓取百度街景影像. 这两天,武汉迎来了一个德国总理默克尔这位大人物,又刷了一把武汉 ...
- 小试牛刀——python接口测试小框架
用例设计: 执行用例代码: # -*- coding: UTF-8 -*-import xlrd,logging,urllib,urllib2,json,sysfrom pylsy import py ...
随机推荐
- C语言警告:warning C4018: “<”: 有符号/无符号不匹配
问题如下: 代码出问题之处: 原因分析: strlen返回一个无符号整型,也就是unsigned型,比较时应该两边的数据类型相同,故严格上来说,应该将m定义为unsigned型. 修改 ...
- C#高级功能(三)Action、Func,Tuple
Action和Func泛型委托实际上就是一个.NET Framework预定义的委托,3.5引入的特性.基本涵盖了所有常用的委托,所以一般不用用户重新声明. Action系列泛型委托,是没有返回参数的 ...
- DM9000网卡的基本工作原理
MAC:主要负责数据帧的创建,数据差错,检查,传送控制等. PHY:物理接口收发器,当收到MAC过来的数据时,它会加上校验码,然后按照物理层的规则进行数据编码,再发送到传输介质上,接收过程则相反. M ...
- 第一个android应用程序
首先打开Eclipse和一个AVD.在Eclipse中选择File→New→Project→Android→Android Application Project 点击Next,按照下图所示填写 注: ...
- 创建自己的oracle解释计划
1.解释计划 当使用explain plan来为一个查询生成预期的执行计划时,输出将包括一下几种: SQL访问的每一张表: 访问每张表的方法: 每一个需要联结的数据源所使用的联结方法: 按次序列出的所 ...
- Java并发编程实战---第六章:任务执行
废话开篇 今天开始学习Java并发编程实战,很多大牛都推荐,所以为了能在并发编程的道路上留下点书本上的知识,所以也就有了这篇博文.今天主要学习的是任务执行章节,主要讲了任务执行定义.Executor. ...
- Stream,Reader/Writer,Buffered的区别(2)
Reader: Reader的子类: 1.BufferedReader: FileReader 没有提供读取文本行的功能,BufferedReader能够指定缓冲区大小,包装了read方法高效读取字符 ...
- meteor 安装 android sdk慢的改进方法
网上方法很多,最后总结一下比较靠谱的一个,到~/.meteor/android_bundle/ 目录下, 执行tools/android,手动下载 API 19 和 intel X86 Atom Sy ...
- iOS进阶学习-数据库
一.数据库管理系统 1.SQL语言概述:SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 2.常见 ...
- Linux 删除mysql数据库失败的解决方法
使用命令:drop database xxx:删除本数据库时却删除失败,系统提示出现了错误,错误代码为: ERROR 1010 (HY000): Error dropping database(can ...