025 26:字典 当索引不好用时
2018-04-06 11:54
260 查看
#笔记
字典是Python中唯一的映射类型,字典也被称为hash(哈希),关系数组
创建字典的5种方法:a = {"one":1,"two":2,"three":3}
b = dict(zip(["one","two","three"],[1,2,3]))
c = dict([("one",1),("two",2),("three",3)])
d = dict(one=1,two=2,three=3)
e = dict({"one":1,"two":2,"three":3})
print(a==b==c==d==e)
字典的各种内置方法:
fromkeys() 创建并返回一个新的字典 有两个参数,第一个是字典的键,第二个是键对应的值,是可选的,若不提供,默认为Nonedict1={}
dict1.fromkeys((1,2,3),("one","two","three"))访问字典的方法keys() value() items() 分别返回字典中的键 值和项(键值对)
get() 当键不存在时,并不会报错 返回None
判断一个键是否在字典中可以用成员操作符(in或者not in)
pop()和popitem() pop是给定键弹出对应的值 popitem()弹出一个项
setdefault() 和get()方法类似 但当在字典中找不到对应的键时会自动添加
尝试利用字典特性写一个通讯录程序print("丨---欢迎进入通讯录程序---丨")
print("丨--- 1:查询联系人资料 ---丨")
print("丨--- 2:插入新的联系人 ---丨")
print("丨--- 3:删除已有联系人 ---丨")
print("丨--- 4:退出通讯录程序 ---丨")
tel = {"小甲鱼":"123456"}
while 1:
temp =int(input("请输入相关指定代码:"))
if temp==1:
name = input("请输入联系人姓名:")
if name in tel:
print(name+":"+tel.get(name))
else:
print("联系人不存在~")
elif temp==2:
name = input("请输入联系人姓名:")
if name in tel:
print("您输入的姓名在通讯录中已存在-->>"+name+":"+tel.get(name))
choice=input("是否需要修改(Yes/No):")
if choice =="Yes":
phone= input("请输入联系人电话:")
tel[name]=phone
else:
phone= input("请输入联系人电话:")
tel[name]=phone
elif temp==3:
dele=input("请输入要删除的联系人姓名:")
tel.pop(dele)
print("联系人已删除")
elif temp==4:
print("丨--- 感谢使用通讯录程序---丨")
break
else :
temp=int(input("指定代码有误,请重新输入:"))
字典是Python中唯一的映射类型,字典也被称为hash(哈希),关系数组
创建字典的5种方法:a = {"one":1,"two":2,"three":3}
b = dict(zip(["one","two","three"],[1,2,3]))
c = dict([("one",1),("two",2),("three",3)])
d = dict(one=1,two=2,three=3)
e = dict({"one":1,"two":2,"three":3})
print(a==b==c==d==e)
字典的各种内置方法:
fromkeys() 创建并返回一个新的字典 有两个参数,第一个是字典的键,第二个是键对应的值,是可选的,若不提供,默认为Nonedict1={}
dict1.fromkeys((1,2,3),("one","two","three"))访问字典的方法keys() value() items() 分别返回字典中的键 值和项(键值对)
get() 当键不存在时,并不会报错 返回None
判断一个键是否在字典中可以用成员操作符(in或者not in)
pop()和popitem() pop是给定键弹出对应的值 popitem()弹出一个项
setdefault() 和get()方法类似 但当在字典中找不到对应的键时会自动添加
尝试利用字典特性写一个通讯录程序print("丨---欢迎进入通讯录程序---丨")
print("丨--- 1:查询联系人资料 ---丨")
print("丨--- 2:插入新的联系人 ---丨")
print("丨--- 3:删除已有联系人 ---丨")
print("丨--- 4:退出通讯录程序 ---丨")
tel = {"小甲鱼":"123456"}
while 1:
temp =int(input("请输入相关指定代码:"))
if temp==1:
name = input("请输入联系人姓名:")
if name in tel:
print(name+":"+tel.get(name))
else:
print("联系人不存在~")
elif temp==2:
name = input("请输入联系人姓名:")
if name in tel:
print("您输入的姓名在通讯录中已存在-->>"+name+":"+tel.get(name))
choice=input("是否需要修改(Yes/No):")
if choice =="Yes":
phone= input("请输入联系人电话:")
tel[name]=phone
else:
phone= input("请输入联系人电话:")
tel[name]=phone
elif temp==3:
dele=input("请输入要删除的联系人姓名:")
tel.pop(dele)
print("联系人已删除")
elif temp==4:
print("丨--- 感谢使用通讯录程序---丨")
break
else :
temp=int(input("指定代码有误,请重新输入:"))
def login(): user={} while 1: temp=input('''丨---新建用户:N/n---丨 丨---登录账号:E/e---丨 丨---退出程序:Q/q---丨 丨---请输入指令代码:''') if temp in ["N","n"]: name=input("请输入用户名:") if name in user: name=input("此用户名已被使用,请重新输入:") sec=input("请输入密码:") else: 4000 sec=input("请输入密码:") print("注册成功,赶紧试试登录吧~") user[name]=sec print(user) if temp in ["E","e"]: name=input("请输入用户名:") if name not in user: name = input("您输入的用户名不存在请重新输入:") sec1 =input("请输入密码:") else: sec1 =input("请输入密码:") while sec1!=user[name]: sec1=input("密码错误,请重新输入:") if sec1==user[name]: break print("欢迎进入系统,退出程序请输入Q") if temp in ["Q","q"]: break login() print("==================论坛答案==============") 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()
相关文章推荐
- 零基础入门学习Python(26)--字典:当索引不好用时2
- FishC笔记—26 讲 字典:当索引不好用时2
- 025:字典:当索引不好用时
- 零基础入门学习Python(25)--字典:当索引不好用时
- 字典:当索引不好用时2 - 零基础入门学习Python026
- Python基础教程之第4章 字典: 当索引不好用时
- Chapter04 字典:当索引不好用时
- Python基础--字典:当索引不好用时
- Python基础编程(四)字典:当索引不好用时
- 读书笔记--《Python基础教程第二版》-- 第四章 字典:当索引不好用时
- 026:字典:当索引不好用时2
- 第四章_字典:当索引不好用时
- Python基础编程(四)字典:当索引不好用时
- Python基础教程--字典;当索引不好用时
- 第四章 字典:当索引不好用时
- Python学习笔记【四】——《python基础教程》:: 字典:当索引不好用时
- Python学习笔记-第四章 字典:当索引不好用时
- 字典(当索引不好用时)
- FishC笔记—25 讲 字典:当索引不好用时
- 字典:当索引不好用时