用Python写一段用户登录的程序代码

yipeiwu_com6年前Python基础

如下所示:

#!/usr/bin/env python
#coding: utf8
import getpass
db = {}
def newUser():
 username = raw_input('username: ')
 if username in db:
 #添加打印颜色
 print "\033[32;1m%s already exists![0m" % username
 else:
 #屏幕不显示密码,调用getpass.getpass()
 password = getpass.getpass()
 db[username] = password #字典k-v赋值
def oldUser():
 username = raw_input('username: ')
 password = getpass.getpass()
 if username in db:
 if db.get(username) == password:#判断输入的用户名和密码是否和字典的k-v匹配
  print '\033[32;1mlogin successful!\033[0m'
 else:
  print '\033[32;1mpassword not match username\033[0m'
 else:
 print '\033[32;1musername does not exist\033[0m'
CMDs = {'n':newUser,'o':oldUser}
def showMenu():
 prompt = """(N)ew user
(O)ld user
(Q)uit
input your choice: """
 while True:
 try:#捕获ctrl+c ctrl+d的异常
  choice = raw_input(prompt).strip().lower()[0]
 except (KeyboardInterrupt, EOFError):
  choice = 'q'
 if choice not in 'noq':
  continue
 if choice == 'q':
  break
 CMDs[choice]()#这种方法相当于shell和c里面的case,很实用
if __name__ == '__main__':
 showMenu()

以上这篇用Python写一段用户登录的程序代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决

引言 目前Python2和Python3存在版本上的不兼容性,这里将列举dict中的问题之一。下面话不多说,来看看详细的介绍: 1. Python 2  vs python 3...

Python面向对象原理与基础语法详解

Python面向对象原理与基础语法详解

本文实例讲述了Python面向对象原理与基础语法。分享给大家供大家参考,具体如下: 目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属...

朴素贝叶斯分类算法原理与Python实现与使用方法案例

朴素贝叶斯分类算法原理与Python实现与使用方法案例

本文实例讲述了朴素贝叶斯分类算法原理与Python实现与使用方法。分享给大家供大家参考,具体如下: 朴素贝叶斯分类算法 1、朴素贝叶斯分类算法原理 1.1、概述 贝叶斯分类算法是一大类分...

python中map()函数的使用方法示例

python中map()函数的使用方法示例

前言 在python里有一个函数map(),它有点高大上的感觉。本文将详细给大家介绍python中map()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介...

用Python实现最速下降法求极值的方法

用Python实现最速下降法求极值的方法

对于一个多元函数,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中为负梯度方向,即最速下降方向,αkαk为搜索步长。 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比...