'''
函数实战:
.加法计算器
.过滤器
.登录功能实战
''' def add(a,b):
return a+b def login_order():
return 'asdfasdfdasfadsf' def myOrder(session):
'''查看我的订单记录'''
if session == 'asdfasdfdasfadsf':
print('login success')
print('你可以查询你的订单记录了:具体信息。。。')
return True
else:
print('login fail')
return False
myOrder(login()) '''
需求:一个用户登陆系统成功后显示它登陆的账号
.注册,就是把注册的账号写到了info记事本中
.登录,从记事本info.txt中读取注册的用户名和密码
.然后登录,登录成功后,打印出登录账号的信息
.优化代码
''' def register(username,password):
'''
注册用户
:param username:注册的用户名
:param password:注册账号的密码
'''
# username = input('请输入您的账号:\n')
# password = input('请输入您的密码:\n')
temp = username + '|'+ password
#把注册的用户名和密码写到info.txt文件中
with open('info.txt','w') as f:
f.write(temp)
# register() def login(username,password):
'''
用户登录系统
:param username:登录的用户名
:param passoword: 登录的密码
:return: 登录成功 False:登录失败
'''
#读取记事本info.txt中的数据
f=open('info.txt','r')
# print(f.read(),type(f.read()))
list1 = f.read().split('|')
# print(list1,type(list1))
# print('username:',list1[])
# print('password:',list1[])
# username = input('请输入登录的账号: \n')
# password = input('请输入登录的密码: \n')
if username == list1[] and password ==list1[]:
# print('login is success')
return True
else:
# print('login is fail')
return False def getUserInfo():
'''打印用户登录成功后的信息'''
f=open('info.txt','r')
list1 = f.read().split('|')
print('恭喜{0},登录系统成功,请开始你的操作:'.format(list1[]))
# if login():
# print('恭喜{0},登录系统成功,请开始你的操作:'.format(list1[]))
# else:
# # print('login fail')
# return False def exit():
'''退出系统'''
import sys
sys.exit() def getUsername():
'''获取输入的用户名'''
username = input('请输入您的账号:\n')
return username def getPassword():
'''获取输入的密码'''
password = input('请输入您的账号的密码:\n')
return password def system():
'''程序执行的入口'''
# username = input('请输入登录的账号: \n')
# password = input('请输入登录的密码: \n')
while True: #.获取用户信息
t=int(input('1、注册 2、登录 3、退出系统\n'))
if t == :
# username = input('请输入您的账号:\n')
# password = input('请输入您的密码:\n')
register(getUsername(),getPassword())
elif t == :
# username = input('请输入登录的账号: \n')
# password = input('请输入登录的密码: \n')
s=login(getUsername(),getPassword())
if s:
getUserInfo()
else:
print('很遗憾!请登录系统,谢谢~')
# elif t == :
# getUserInfo()
elif t == :
exit()
else:
break if __name__ == '__main__':
system() '''
.代码优化:用户名和密码分离,放入主函数,login(username,password) 入参数
.注册代码进行分离
.写一个方法对
'''

Python基础入门-函数实战登录功能的更多相关文章

  1. python基础之函数的应用

    #函数应用# 1.语法"""def 函数名(参数): 函数体"""# 2. 没有参数的函数# def readbook():# print( ...

  2. Python基础入门总结

    Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...

  3. python基础——filter函数

    python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  4. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  5. 八. Python基础(8)--函数

    八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x):     ' ...

  6. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  7. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

  8. python基础——匿名函数

    python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便.  在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...

  9. python基础——返回函数

    python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.  我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...

随机推荐

  1. 调用 SSPI 失败,请参见内部异常 解决方法

    2017-11-12 12:49:53:706] OnServerConnectionAvailable error : System.Security.Authentication.Authenti ...

  2. RESTful处理JSON

    @RequestMapping(value = "/dblist", method = RequestMethod.GET) @ResponseBody public Map< ...

  3. Toolbar使用

    原文地址 http://www.cnblogs.com/Dentist/p/4370176.html Android4.0出现的Actionbar提供了同意方便的导航管理.很大程度的统一了Androi ...

  4. MyBatis缓存结构

    Mybatis Cache结构图: CacheKey(statementId, sql, sqlParams,other). 上图展示了Mybatis Cache的结构: 1)每个Mapper对应一块 ...

  5. MonGoDB问题笔记

    1. 最近出了一个问题,就是按日期查查不出来数据,经过折腾后发现,mongodb中的存储数据的日期格式与查询时使用的日期格式不匹配,导致查询出不来 //{"$and":[{ &qu ...

  6. html 文字垂直居中

    html  文字垂直居中 <span style="float:right; padding-right:30px;line-height:64px" class=" ...

  7. mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).

    报错详情: WARN mapred.JobClient: No job jar file set.  User classes may not be found. See JobConf(Class) ...

  8. USB设备驱动总结

    现象:把USB设备接到PC        (韦老师总结) 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有" ...

  9. CVE-2017-8464(震网三代)复现

    开启msf root@sch01ar:~# msfconsole 设置模块 msf > use exploit/windows/fileformat/cve_2017_8464_lnk_rce ...

  10. 2014.8.25 VS新建项目模板消失解决方法

    Vs2005 新建项目时windows应用程序模板消失问题解决方法: 1:进入C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\ ...