码迷,mamicode.com
首页 > 编程语言 > 详细

Python3 的字典

时间:2018-01-29 22:38:38      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:映射   from   int   get   col   while   用户信息   use   创建   

1、dict() 字典

字典是python里唯一的映射类型

2、字典由key和value组成的项组成

如何创建一个字典:

>>> a = dict(one=1, two=2, three=3)
>>> b = {one: 1, two: 2, three: 3}
>>> c = dict(zip([one, two, three], [1, 2, 3]))
>>> d = dict([(two, 2), (one, 1), (three, 3)])
>>> e = dict({three: 3, one: 1, two: 2})

3、字典的内置函数

keys

>>> b = {one: 1, two: 2, three: 3}
>>> for i in b.keys():
    print(i)

    
one
two
three

 

values

>>> b = {one: 1, two: 2, three: 3}
>>> for i in b.values():
    print(i)

    
1
2
3

 

items

>>> b = {one: 1, two: 2, three: 3}
>>> for i in b.items()
>>> for i in b.items():
    print(i)

    
(one, 1)
(two, 2)
(three, 3)

 

copy

>>> b = {one: 1, two: 2, three: 3}
>>> c=b.copy()
>>> c
{one: 1, two: 2, three: 3}
>>> b[one]=4
>>> b
{one: 4, two: 2, three: 3}
>>> c
{one: 1, two: 2, three: 3}

 

clear

{one: 1, two: 2, three: 3}
>>> b = {one: 1, two: 2, three: 3}
>>> b.clear()
>>> b
{}

 

get

>>> b = {one: 1, two: 2, three: 3}
>>> b.get(one)
1
>>> b.get(4)
>>> print(b.get(4))
None

 

fromkeys

>>> b = {one: 1, two: 2, three: 3}
>>> c=b.fromkeys("1",2)
>>> c
{1: 2}

 

update

>>> b = {one: 1, two: 2, three: 3}
>>> c=b.fromkeys("1",2)
>>> c
{1: 2}
>>> b.update(c)
>>> b
{one: 1, two: 2, three: 3, 1: 2}

 

pop

>>> b = {one: 1, two: 2, three: 3}
>>> c=b.fromkeys("1",2)
>>> c
{1: 2}
>>> b.update(c)
>>> b
{one: 1, two: 2, three: 3, 1: 2}
>>> b.pop(1)
2
>>> b
{one: 1, two: 2, three: 3}

 

popitems

 

b = {one: 1, two: 2, three: 3}
>>> b.popitem()
(three, 3)

 

 setdefault

‘‘‘Help on built-in function setdefault:

setdefault(key, default=None, /) method of builtins.dict instance
    Insert key with a value of default if key is not in the dictionary.
    
    Return the value for key if key is in the dictionary, else default.‘‘‘

>>> b={}
>>> b.setdefault(1,2)
2
>>> b
{1: 2}
>>> b[1]=3
>>> b.setdefault(1,2)
3
>>> b
{1: 3}

 

4、设计一个通讯录程序

print("|---欢迎进入通讯录程序---|\n|---1.查询联系人资料---|\n|---2.插入新的联系人---|\n|---3.删除已有联系人---|\\n|---4.打印所有用户信息---|\n|---5.退出通讯录程序---|")

mydict={}
while 1:
    fun=input("\n请输入相关指令代码:")
    if fun==2:
        name=input("请输入联系人姓名:")#key
        if name in mydict:
            print("您输入的用户名已存在-->>",end=‘‘)
            print(name,:,mydict[name])
            yn=input("是否修改用户资料(YES/NO):")
            if yn == "YES":
                number=input("请输入用户电话号码:")#value
                mydict[name]=number
                continue
            else:
                continue    
        number=input("请输入用户电话号码:")#value
        mydict[name]=number
        print(录入成功!,name,:,mydict[name])
        continue
    elif fun==1:
        name=input("请输入联系人姓名:")#key
        if name in mydict:
            print(name,:,mydict[name])
            continue
        else:
            print("你查找的用户不存在!")
            continue
    elif fun==3:
        name=input("请输入联系人姓名:")#key
        if name in mydict:
            print(用户信息:,name,:,mydict[name])
            if mydict.pop(name,1)!=1:
                print(删除成功!)
                continue    
        else:
            print("你删除的用户不存在!")
            continue
    elif fun==5:
        print("---感谢使用通讯录程序---")
        break
    elif fun==4:
        for i in mydict:
            print(i,:,mydict[i],end=\n)
    else:
        print("请输入正确指令!!!")
        continue
‘‘‘            
Help on built-in function pop:

pop(...) method of builtins.dict instance
    D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
    If key is not found, d is returned if given, otherwise KeyError is raised        
‘‘‘    

5、设计一个用户登陆程序

版本1

user={}
flag=0
flag1=0
flag2=0
while 1:
    if flag2==1:
        print("欢迎进入XXOO系统,请点击右上角的X结束程序!")
        while 1:
            flag2==0
        
        
    print("\n|--- 新建用户:N/n ---|           \n|--- 登陆账号:E/e ---|           \n|--- 退出程序:Q/q ---|")
    fun=input("请输入指令代码:")
    while fun==Nor fun==n:
        if flag==1:
            name=input("此用户名已被使用,请重新输入:")
        else:
            name=input("请输入用户名:")
        if name not in user:
            flag=0
            print("用户名可以使用!\n")
            pswd=input("请输入密码:")
            user[name]=pswd
            print("注册成功,赶紧试试登陆吧!")
            break
        else :
            flag=1
            continue
    while fun==E or fun==e:
        if flag1:
            name=input("您输入的用户名不存在请重新输入:")
        else:
            name=input("请输入用户名:")      
        if name not in user:
            flag1=1
            continue
        else:
            flag1=0
            pswd=input(请输入密码:)
            if pswd==user[name]:
                flag2=1
                break
            else:
                print("密码错误")
                break
    if fun==Q or fun==q:
        print("|--- 感谢使用 ---|")
        break
            
        
            
        

版本2

user_data = {}

def new_user():
    prompt = 请输入用户名:
    while True:
        name = input(prompt)
        if name in user_data:
            prompt = 此用户名已经被使用,请重新输入:
            continue
        else:
            break

    passwd = input(请输入密码:)
    user_data[name] = passwd
    print(注册成功,赶紧试试登录吧^_^)

def old_user():
    prompt = 请输入用户名:
    while True:
        name = input(prompt)
        if name not in user_data:
            prompt = 您输入的用户名不存在,请重新输入:
            continue
        else:
            break
    
    passwd = input(请输入密码:)
    pwd = user_data.get(name)
    if passwd == pwd:
        print(欢迎进入XXOO系统,请点右上角的X结束程序!)
    else:
        print(密码错误!)

def showmenu():
    prompt = ‘‘‘
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 推出程序:Q/q ---|
|--- 请输入指令代码:‘‘‘

    while True:
        chosen = False
        while not chosen:
            choice = input(prompt)
            if choice not in NnEeQq:
                print(您输入的指令代码错误,请重新输入:)
            else:
                chosen = True

        if choice == q or choice == Q:
            break
        if choice == n or choice == N:
            new_user()
        if choice == e or choice == E:
            old_user()

showmenu()

 

Python3 的字典

标签:映射   from   int   get   col   while   用户信息   use   创建   

原文地址:https://www.cnblogs.com/PythonFCG/p/8379554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!