环境:python3.*
结构:
dict_name = {}
#定义一个字典,后面用到
def newuser():
#定义注册函数
prompt1='login desired:'
while True:
#循环开始一直为真,除break外。
name = input(prompt1)
#用户输入一个值,赋值给name
if (dict_name.__contains__(name)):
#在字典里查找看有没有用户输入的相对应的键。
prompt1 = '--name taken,try another:'
continue
#如果存在则重新赋值prompt1.输出字符提醒用户该账户已存在,尝试换一个,并且跳出本次循环。循环下一次
else:
break
#如果不存在,则结束循环
pwd= input('password:')
#用户输入并且赋值给pwd。
dict_name[name]=pwd
#更改字典中变量’name’的值为变量‘pwd’,不存在则新建一个键。
def olduser():
#定义登录函数
name = input('login:')
#用户输入登录名
pwd = input('password:')
#用户输入密码
password = dict_name.get(name)
#在字典中查找用户输入用户名的所对应的值,即密码,并且赋值给password变量
if password == pwd:
#如字典中的值和用户输入的匹配,则输出提示信息
print('--welcome back--'),name
else:
print('--login incorrect--')
#否则,输出失败的提示信息
def showmenu():
prompt = '''
(N)ew User Login
(E)ntering User Login
(Q)uit
Enter choice:'''
#格式化输出这些信息
while True:
#循环开始
choice = input(prompt).strip()[0].lower()
#定义变量,strip()[0]表示去掉两端的空格;去第一个字符。lower()表示将大写格式转换为小写。
print('\n--You picked : %s' %(choice))
#输出提示信息,让用户输入选择。
if choice not in 'neq':
#如果用户输入的不在‘neq’三个字符里,提示让用户按照规章重试。
print('--invalid option,try again--')
else:
#如符合要求,执行以下嵌套判断语句。
if choice=='n':
#如用户输入的是‘n’,则调用函数‘newuser’
newuser()
elif choice=='e':
#如输入的是‘e’,则调用函数‘olduser’。
olduser()
else:
#其他的选项则,退出循环
print('quit')
break
if __name__ == '__main__':
showmenu()
#正常运行时,__name=='__main__'是成立的,所以只运行,该式子前面的部分
#被当作模块调用时,则不成立.该函数详细解释请看: