Python实现的用户登录系统功能示例

yipeiwu_com5年前Python基础

本文实例讲述了Python实现的用户登录系统功能。分享给大家供大家参考,具体如下:

有N,E,Q三个选择,若选择Q或者中断,则系统退出。若其他选项,则持续让用户选择。

#!/usr/bin/env python
db = {}
def newuser():
  prompt = 'login desired: '
  while 1:
    name = raw_input(prompt)
    if db.has_key(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)
  if passwd == pwd:
    pass
  else:
    print 'login incorrect'
    return
  print 'welcome back', name
def showmenu():##主函数名
  prompt = """
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice: """
  done = 0 ##控制循环的控制器
  while not done:
    chosen = 0 ##控制循环的控制器
    while not chosen:
      try:
        choice = raw_input(prompt)[0]
      except (EOFError, KeyboardInterrupt):
        choice = 'q'
      print '\nYou picked: [%s]' % choice
      if choice not in 'neq':##非neq继续小循环
        print 'invalid menu option, try again'
      else:
        chosen = 1 ##跳出小循环
    if choice == 'q': done = 1 ##跳出大循环
    if choice == 'n': newuser()
    if choice == 'e': olduser()
if __name__ == '__main__':
  showmenu()

运行结果:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python+Selenium使用Page Object实现页面自动化测试

  Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Se...

Windows下Anaconda的安装和简单使用方法

Windows下Anaconda的安装和简单使用方法

Anaconda is a completely free Python distribution (including for commercial use and redistrib...

解决Python 遍历字典时删除元素报异常的问题

错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② --...

简单了解python数组的基本操作

这篇文章主要介绍了简单了解python数组的基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一,创建列表 创建一个列表,只要把...

python画图把时间作为横坐标的方法

python画图把时间作为横坐标的方法

1、需要将时间字符串转换成datetime类型,语法:data[‘time'] = pd.to_datetime(data[‘time']) 2、将时间列设置成索引列data.set_i...