PYTHON定义函数制作简单登录程序(详细)
环境: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定义函数制作简单登录程序(详细)的更多相关文章
- python定义的一个简单的shell函数的代码
把写代码过程中经常用到的一些代码段做个记录,如下代码段是关于python定义的一个简单的shell函数的代码. pipe = subprocess.Popen(cmd, stdout=subproce ...
- python定义函数时的默认返回值
python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None 执行如下代码 def now(): prin ...
- python 定义函数关键字def 简单介绍
一 在类中定义的def # python中def 是用来干什么的? # 可以定义函数,就是定义一个功能. class People(): def __init__(self): print(&quo ...
- Python入门-函数的使用到程序的公布安装
Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...
- Python定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...
- python 定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...
- 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 ...
- python定义函数以及参数检查
(转自廖雪峰网站) 函数定义 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义 ...
- python定义函数时默认参数注意事项
如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用, 如 def func(arg1=[]): arg1.append(2) 调用func时 ...
随机推荐
- [Linux] host dig nslookup查询域名的DNS解析
root@VM-38-204-ubuntu:~# host baidu.com baidu.com has address 220.181.57.216 baidu.com has address 1 ...
- Android之友盟多渠道打包与数据统计
文章大纲 一.多渠道打包与数据统计介绍二.友盟实现多渠道打包实战三.友盟数据统计实战四.项目源码下载五.参考文章 一.多渠道打包与数据统计介绍 多渠道打包,相信很多同学都知道.在Android ...
- SQL SERVER数据库的简单介绍
一.数据库技术的发展 数据库技术是应数据管理任务的需求而产生的,先后经历了人工管理.文件系统.数据库系统等三个阶段. 二.关系型数据库 SQL Server属于关系型数据库. 关系模型 以二维表来描述 ...
- postgresql 使用pg_restore时显示role "root" does not exist的解决办法
在docker里恢复bakcup格式的数据库,结果提示role "root" does not exist 解决方法: 切换用户: su - postgres 然后再次运行命令: ...
- 处理安卓和ios当页面原生键盘弹出,输入框不显示
$('input').on('click', function () { var target = this; // 使用定时器是为了让输入框上滑时更加自然 setTimeout(function() ...
- supervisord 备注
最近项目中使用了supervisord,简单做下备注. supervisord是linux下基于python开发的一个服务管理工具,类似之前node环境下的forever,用该方法启动进程后,supe ...
- linux shell 备注(一)
1.特殊字符 #!/bin/bash # $表示当前PID ID echo $$ # $n是shell脚本的参数,当0是第一个参数,即文件名 # $#是shell当前脚本的参数个数 # 例如:sh03 ...
- JS的常用正则表达式 验证密码(转载自用)
JS的正则表达式 强:字母+数字+特殊字符 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^& ...
- mysql数据库打开连接时报错:1251
考试之前由于一直在做团队项目导致疏忽了数据库 等到今天来连接做考试的时候发现报错:1251 网上的解释以及解决方法: 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因 ...
- 【机器学习】--GBDT算法从初始到应用
一.前述 提升是一种机器学习技术,可以用于回归和分类的问题,它每一步产生弱预测模型(如决策树),并加权累加到总模型中:如果每一步的弱预测模型的生成都是依据损失函数的梯度方式的,那么就称为梯度提升(Gr ...