Python基础入门-函数实战登录功能
'''
函数实战:
.加法计算器
.过滤器
.登录功能实战
''' 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基础入门-函数实战登录功能的更多相关文章
- python基础之函数的应用
#函数应用# 1.语法"""def 函数名(参数): 函数体"""# 2. 没有参数的函数# def readbook():# print( ...
- Python基础入门总结
Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...
- python基础——filter函数
python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
- 八. Python基础(8)--函数
八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x): ' ...
- [新手必备]Python 基础入门必学知识点笔记
Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...
- python基础之函数详解
Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...
- python基础——匿名函数
python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...
- python基础——返回函数
python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...
随机推荐
- Log4net系列一:Log4net搭建之文本格式输出【转】
前言 项目开发中,记录项目日志是必须的,如果非要说日志的重要性(日志可看做,飞机的黑匣子,或者汽车的行车记录仪),根据等级进行记录,方便我们排查相关问题,以后项目运维中,也方便很多.基本上我们进入一家 ...
- mysql 创建用户自定义函数(转可运行)
set global log_bin_trust_function_creators = 1; -- 开启bin_log 复制 函数创建DROP FUNCTION IF EXISTS hello; - ...
- android Shape使用(转)
在Android中常常会使用shape来定义控件的一些显示属性,那么怎么来用那,今天我们就来看一些shape的使用,大家看完这篇以后就会对shape有了大体的了解,下面的是稍作总结请大家仔细的观看: ...
- c#winform图表控件使用示例
公司有个需求,需要做嵌入式开发,跟硬件通信,把数据实时展示到winform中,网上查了资料,先写下个demo备用,到时候接入socket通信就完成了,具体效果如图 实现的原理是把最开始的数据去掉,加入 ...
- ubuntu为什么没有/etc/inittab文件? 深究ubuntu的启动流程分析
Linux 内核启动 init ,init进程ID是1,是所有进程的父进程,所有进程由它控制. Ubuntu 的启动由upstart控制,自9.10后不再使用/etc/event.d目录的配置文件,改 ...
- log4net内部调试开启
最近用log4net写入日志到mysql数据库,死活写不进去,就想能不能看log4net的错误记录,在网上一找,还真有:开启log4net的内部调试,作个记录: <appSettings> ...
- java显示网格————————
总结:看图 +---+---+ | | | | | | +---+---+ */ package com.aaa; //在屏幕上显如下网格 public class adga { public sta ...
- oracle数据库查询题目!!!!!我的最爱
使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下 emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪 ...
- 分布式缓存系统 Memcached slab和item的主要操作
上节在分析slab内存管理机制时分析Memcached整个Item存储系统的初始化过程slabs_init()函数:分配slabclass数组空间,到最后将各slab划分为各种级别大小的空闲item并 ...
- juc线程池原理(五):拒绝策略示例
概要 拒绝策略介绍 线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施.当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异常关闭.第二,任务数量超过线程池的最大限制. 线程池 ...