环境: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__'是成立的,所以只运行,该式子前面的部分

#被当作模块调用时,则不成立.该函数详细解释请看:

https://blog.csdn.net/yjk13703623757/article/details/77918633

PYTHON定义函数制作简单登录程序(详细)的更多相关文章

  1. python定义的一个简单的shell函数的代码

    把写代码过程中经常用到的一些代码段做个记录,如下代码段是关于python定义的一个简单的shell函数的代码. pipe = subprocess.Popen(cmd, stdout=subproce ...

  2. python定义函数时的默认返回值

    python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None 执行如下代码 def now(): prin ...

  3. python 定义函数关键字def 简单介绍

    一  在类中定义的def # python中def 是用来干什么的? # 可以定义函数,就是定义一个功能. class People(): def __init__(self): print(&quo ...

  4. Python入门-函数的使用到程序的公布安装

    Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...

  5. Python定义函数

    在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...

  6. python 定义函数

    在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...

  7. program 1 : python codes for login program(登录程序python代码)

    #improt time module for count down puase time import time #set var for loop counting counter=1 #logi ...

  8. python定义函数以及参数检查

    (转自廖雪峰网站) 函数定义 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义 ...

  9. python定义函数时默认参数注意事项

    如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用, 如 def func(arg1=[]): arg1.append(2) 调用func时 ...

随机推荐

  1. spring boot 2.0 Feign的客户端

    1.pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId ...

  2. SQL server 存储过程的建立和调用

     存储过程的建立和调用 --1.1准备测试需要的数据库:test,数据表:物料表,采购表if not exists (select * from master.dbo.sysdatabases whe ...

  3. CYQ.Data 支持 PostgreSQL 数据库

    前言: 很久之前,就有同学问我CYQ.Data能不能支持下PostgreSQL,之后小做了下调查,发现这个数据库用的人少,加上各种因素,就一直没动手. 前两天,不小心看了一下Github上的消息: 看 ...

  4. Solr 15 - Solr添加和更新索引的过程 (文档的路由细节)

    目录 1 添加文档的细节 1.1 注册观察者 - watcher 1.2 文档的路由 - document route 1.2.1 路由算法 1.2.2 Solr路由的实现类 1.2.3 implic ...

  5. Java集合详解5:深入理解LinkedHashMap和LRU缓存

    今天我们来深入探索一下LinkedHashMap的底层原理,并且使用linkedhashmap来实现LRU缓存. 摘要: HashMap和双向链表合二为一即是LinkedHashMap.所谓Linke ...

  6. 红透半边天的VR(虚拟现实)产业

    目前在做一些与AR与VR相关的工作,特此把一些个人总结的普及性概念与各位朋友共享. 一: 什么是虚拟现实(VR)技术? 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟 ...

  7. Reactor 典型的 NIO 编程模型

    Doug Lea 在 Scalable IO in Java 的 PPT 中描述了 Reactor 编程模型的思想,大部分 NIO 框架和一些中间件的 NIO 编程都与它一样或是它的变体.本文结合 P ...

  8. Data Lake Analytics + OSS数据文件格式处理大全

    0. 前言 Data Lake Analytics是Serverless化的云上交互式查询分析服务.用户可以使用标准的SQL语句,对存储在OSS.TableStore上的数据无需移动,直接进行查询分析 ...

  9. 【Vue.js】代码优化:在dom中加一行v-if就可少写一个循环类方法

    [问题描述] 把当前用户的购物车中(cartList),商品(good)选中字段checked = true的商品在订单页面中进行展示出来. [一般做法](两次循环) 首先取出当前用户的购物车列表,循 ...

  10. 浅谈基于Intellij IDEA Maven的配置与使用

    在java开发中,引入jar包的方式从种类上划分,可分为自动导入和手动导入,然而,手动导入繁琐,不是很适合当前开发模式,手动导入也被自动导入所取代. 当前,Maven和Gradle是比较主流的自动导入 ...