概述
此脚本来自《python核心编程》-映像类型:字典(python中唯一的映像类型)
# -* - coding: UTF-8 -* -
#===》提供中文注释
#!/usr/bin/env python
db = {}
#===》创建一个空的字典
def newuser():
prompt = 'login desired: '
while True:
name = raw_input(prompt)
#===》获取用户输入之前,先打印字符串
if db.has_key(name):
#===》可以使用in 或是not in 替代,判断db字典中是否已经存在‘name’健
prompt = 'name taken, try another: '
continue
else:
break
pwd = raw_input('passwd: ')
db[name] = pwd
#===》密码存在对应的健-值对中
def olduser():
name = raw_input('login: ')
pwd = raw_input('passwd: ')
passwd = db.get(name)
#===》获取db字典中‘name’健对应的值
if passwd == pwd:
print 'welcome back', name
else:
print 'login incorrect'
def showmenu():
prompt = """
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice: """
done = False
while not done:
chosen = False
while not chosen:
try:
choice = raw_input(prompt).strip()[0].lower()
#===》获取输入字符串中,左边第一个字符,取小写
except (EOFError, KeyboardInterrupt):
choice = 'q'
print 'nYou picked: [%s]' % choice
if choice not in 'neq':
#===》如果choice不包括在‘neq中’
print 'invalid option, try again'
else:
chosen = True
if choice == 'q':done = True
if choice == 'n':newuser()
if choice == 'e':olduser()
if __name__ == '__main__':
#===》脚本开始
showmenu()
测试1:输入‘n’,添加新用户
----------
D:Python27test>atest.py
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice: n
#===》输入
You picked: [n]
login desired: hello
#===》输入
passwd: world
#===》输入
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice:
测试2:输入‘e’,验证密码
----------
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice: e
You picked: [e]
login: hello
passwd: world
welcome back hello
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice:
测试3:输入‘q’,退出
----------
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice: q
You picked: [q]
D:Python27test>
最后
以上就是还单身百褶裙为你收集整理的python-04<关于字典:键必须是可哈希的>的全部内容,希望文章能够帮你解决python-04<关于字典:键必须是可哈希的>所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复