'''
函数实战:
.加法计算器
.过滤器
.登录功能实战
''' 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. 序列化 SqlAlchemy 的结果为 json 字符串

    http://my.oschina.net/gongshang/blog/395431?p=1 在设计 RESTful 的网站时,我们总是希望 ORM 框架返回的结果是可以直接给 View 层使用的 ...

  2. JsQuick--个人封装的Js库

    JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $ ...

  3. 区域存储网络(SAN)与 网络直接存储(NAS)

    随着互联网及网络应用的飞速发展,数据信息存储系统所需处理的数据类型也呈爆炸性增长,这使数据信息存储系统面临前所未有的挑战.附加式网络存储装置(Network Attached Storage,缩写为N ...

  4. 洛谷3778 [APIO2017]商旅

    题目:https://www.luogu.org/problemnew/show/P3778 一看就是0/1分数规划.但不能直接套模板,因为有个商品种类的限制. 考虑从a买在b卖,商品种类根本没用,关 ...

  5. Android Socket编程

    花了大概两天的时间,终于把Android的Socket编程给整明白了.抽空和大家分享一下: Socket Programming on Android Socket 编程基础知识: 主要分服务器端编程 ...

  6. windows中文编码报错 com.google.gson.JsonIOException: java.nio.charset.MalformedInputException: Input length = 1

    昨天碰到一个问题:同一个请求页面,页面经过匹配后调用http的post协议接口,部署在linux环境的没问题,本地Eclipse启动的tomcat也没问题,直接启动本地tomcat却报错了: 18:4 ...

  7. Ubuntu 14.04报“leaking memory”错误

    在做一些实验的时候,临时配置了笔记本网卡eth0的IP地址,结果出现了以下错误, $ sudo ifconfig eth0 192.168.2.100/24 no talloc stackframe  ...

  8. 【转】Jmeter做web压力测试时设置持续时间注意点

    头一回使用jmeter做web的压力测试,遇到个很莫名其妙的问题,不管我的线程组怎么设置,它就是执行一次就结束了. 设置循环次数为300,不使用调度器--〉执行一次就结束了,循环次数未生效 设置循环次 ...

  9. 实战 TestNG 监听器

    TestNG 是一个开源的自动化测试框架,其灵感来自 JUnit 和 NUnit,但它引入了一些新功能,使其功能更强大,更易于使用.TestNG 的设计目标是能够被用于进行各种类型测试:单元测试.功能 ...

  10. zufeoj 分数线划定

    分数线划定 时间限制: 1 Sec  内存限制: 128 MB提交: 13  解决: 7[提交][状态][讨论版] 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A ...