【Python初学笔记】no.2字典和函数及练习

来源:互联网 发布:多益网络策划问题精髓 编辑:程序博客网 时间:2024/06/05 03:14

字典

说明:字典可以像传统的字典那样理解,每一个词都有他的注释,python中也是一样,
只是说,一个词只能有一个注释(至少学到此所了解的),那么这个词和其注释就是一个元组。

menu_dic = {'quezi':12,'hongshaor':15,'baiqj':16}  //这里我写一个餐厅菜单的词典
注意是大括号!
print menu_dic,'\n'

字典的功能用法:

#print menu_dic ['quezi']                        //用中括号查词的注释
#print menu_dic.keys()       //keys就是词,这里输出所有的词
#print menu_dic.values()      //values就是注释,输出所有注释
#print menu_dic.items()      //items就是词+注释,输出所有的词+注释
#for food,price in menu_dic.items():
#       print food,price        //用for循环整齐的输出词和注释,如下:
baiqj 16
quezi 12
hongshaor 15


#menu_dic.pop('quezi')      //删掉某词及其注释
#menu_dic.popitem()       //删掉第一个词及其注释
#menu_dic['luobu']=4       //中括号添加一个词和注释
#print menu_dic.has_key('asd')    //判断是否包含某词,输出True/False
print menu_dic.clear()        //清空词典

练习:

创建员工信息表,包含员工号、姓名、邮件、部门等。
提供用户查找接口,通过员工号查询用户信息。
首先创建员工信息表:
root@controller:~# more staff.txt 
Name       Number      email         department

lei         20          random@qq.com   it
jxj         30          jxj@qq.com      Financial
hhy         40          hhy@qq.com      Administration
scq         50          scq@qq.com      Administration

程序代码:
#=========================================================
#coding=utf-8                      #使得Python2.7支持中文

f = file ('staff.txt')
staff_dic = {}

f.readline()
f.readline()       #过滤表的前两行

for line in f.readlines():
        name = line.split()[0]
        staff_dic [name] = line        #将表生成字典
print '欢迎使用员工信息查询系统!\n'
while True:                #写一个循环
        n = raw_input('请输入需要查询的员工姓名并回车:')
        if n in staff_dic:            #判断如果输入的姓名在字典中,就继续下面的内容
                print '该员工的信息如下:\n'
                print 'Name       Number      Email         Department','\n',staff_dic[n]
        else:                             #不在字典中,就提示重新输入!
                print '没有该员工,请重新输入!\n'

#=========================================================

函数

说明:函数,是在程序中将一组用特定的格式包装起来,定义一个名称!
然后在程序的任何地方调用这个函数,执行函数里的命令!

好处:
   程序可扩展性
   减少程序代码
   方便程序架构的修改

定义函数:

>>> def sayhi(name):                  #格式为def +xx():
...     print 'hello!my name is %s' % name
... 
>>> sayhi('leilili')
hello!my name is leilili

注意:若函数里面需要引用变量,则变量必须提前在括号()里声明!

练习:

创建一个员工名单表,然后用函数取出员工姓名,并与ta打招呼。

这里依然使用之前创建的表,
root@controller:~# more staff.txt 
Name       Number      email         department

lei         20          random@qq.com   it
jxj         30          jxj@qq.com      Financial
hhy         40          hhy@qq.com      Administration
scq         50          scq@qq.com      Administration


代码:
#==================================================
def sayHi(a):
        f = file(a)                                  #读取文件
        f.readline()        
        f.readline()       #过滤前两行
        for line in f.readlines():
                name = line.split()[0]               #把名字分离出来
                print 'hi  %s,how are you ?'% name
sayHi('staff.txt')
#==================================================
效果
root@controller:~# python def.py 
hi  lei,how are you ?
hi  jxj,how are you ?
hi  hhy,how are you ?
hi  scq,how are you ?

感谢你的阅览,如你有建议或发现笔记中有错误可向我提出,谢谢~

资源群(IT各领域、非技术)645026970


End.


原创粉丝点击