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 ...
随机推荐
- IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...
- jquery.unobtrusive-ajax.js源码阅读
/*! ** Unobtrusive Ajax support library for jQuery ** Copyright (C) Microsoft Corporation. All right ...
- python匿名函数(lambda)
简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方 ...
- java reflect 初始学习 动态加载类
首先要理解Class类: 在java 的反射中,Class.forName("com.lilin.Office") 使用类的全名,这样获取,不仅仅表示了类的类类型,同时还代表着类的 ...
- QTP获取系统时间并自定义格式
function GetDateTime(Nowstr) Dim Currentdatetime Dim YY 'Year Dim MM ...
- .NET Async/Await 最佳实践
.NET 异步编程Guildlines 名称 描述 例外 Avoid async void Prefer async Task methods over async void methods Even ...
- OpenStack:安装Neutron与provider network
1. 安装(1)Install Networking services on a dedicated network node# apt-get install neutron-server neut ...
- iOS-添加测试设备Identifier
第一步:确认你的设备已经连接 第二步:点击xcode上"Windows"标签,选择"Devices" 第三步:在弹出的左框选择你要添加的设备.在右边框里可以找到 ...
- Swift的一些基础内容
//①判断字符串是否为空的方法 isEmpty var str:String = "www.baidu.com" if str.isEmpty { print("空字符串 ...
- ExtJS FormPanel不执行校验
经检查问题原因在于使用了 validator 属性. 使用validator属性,必须添加返回值.不添加返回值,就会出现FormPanel不执行校验的问题.