homework:
''' 作业三用函数实现登录功能 1、让用户输入用户名与密码 2、校验用户名是否存在 3、用户名存在后检验密码是否正确, 若正确打印"登录成功", 否则打印"用户名或密码错误", 并让用户重新输入。 4、用户密码输入错误超过三次则退出循环。 ''' def login(): ''' 此函数登录功能 :return: ''' counts = 0 while counts < 3: user_in = input('请输入用户名:').strip() with open('tututu.text', 'r', encoding='utf-8') as f: res = f.read() user_name = res.split(',')[0].split(':')[1] user_pwd = res.split(',')[1].split(':')[1] if user_in == user_name: pwd_in = input('请输入密码:').strip() if pwd_in == user_pwd: print('登录成功!!') break else: print('密码错误!请重新输入!') else: print('用户名不存在,请重新输入!') counts += 1 login()
今日上课内容:
数据类型剩余内置方法
#1.insert 插入 list1 = ['tutu',17,'male',5.0,9,'安徽'] list1.insert(2,'old boy') print(list1) #2.count 查看某个值的个数 list1 = ['tutu',17,'male',5.0,9,'安徽'] print(list1.count('tutu')) #3.index() 查看某个值的索引 print(list1.index('安徽'),'--安徽') #4.clear 清空列表的值 list1 = ['tutu',17,'male',5.0,9,'安徽'] list1.clear() print(list1) #copy # 浅拷贝 将list1的内存地址浅拷贝赋值给list2 list1 = ['tutu',17,'male',5.0,9,'安徽'] list2 = list1.copy() print(list2) #将list1原地址直接赋给list3 list3 = list1 #深拷贝 from copy import deepcopy list4 = deepcopy(list1) #打印直接赋值的结果、深、浅拷贝 #浅拷贝:list1的列表中外值改变对其不影响 #但对list1中的可变类型进行修改则会随之改变值 #深拷贝:把list中的所有值拷贝到一个全新地址中,进而与list1完全隔开 #extend list1 = [1,2,3] list2 = [4,5,6] list1.extend(list2) print(list1) #reverse list1.reverse() print(list1) #sort排序 list3 = [1,6,2,84,3,843,5] list3.sort() print(list3) #降序 list3.sort(reverse=True) print(list3)
元祖
#小括号(),以逗号隔开存放多个值,且不可变 tuple1 = (1,2,3) # print() #按索引取值 #print(tuple1[2]) #切片 print(tuple1[0:6]) #步长 print(tuple1[0:6:2]) #长度 print(len(tuple1)) #成员运算 in & not in print(1 in tuple1) print(1 not in tuple1) #循环 for line in tuple1: print(line)
字典内置方法
#1.按照key取/存值 dict1 = { 'name':'tutu','age':18,'age':'male','school':'安徽工程大学'} #根据key取值 #print(dict1['school']) #get() # print(dict1.get('school','清华university')) # print(dict1.get('sal','50000')) #len #print(len(dict1)) #in & not in # print('name' in dict1) # print('sal' in dict1) # print('work' not in dict1)
集合
#集合类型(一般用于去重,无序) #在大括号内,以逗号隔开,可存放多个值,但可默认去重 set1 = {1,2,3,4,1,2,3,4} print(set1) #集合是无序的 set1 = set() set2 = {} print(set1) print(set2) set2['name'] = 'tutu' print(type(set2))
文件操作
#对文本操作 #open #open(参数1:绝对路径/文件名,参数2:模式,参数3:指定字符编码) #写文件 f = open(r'C:\Users\涂先生\PycharmProjects\untitled1\day02\文件名.txt', mode='wt', encoding='utf-8') f.write('hello,tututu') f.close() #读文件 f = open(r'C:\Users\涂先生\PycharmProjects\untitled1\day02\文件名.txt', 'r', encoding="utf-8") res = f.read() print(res) #追加文件 f = open(r'C:\Users\涂先生\PycharmProjects\untitled1\day02\文件名.txt', 'a', encoding='utf-8') f.write('涂懿磊牛逼') f.close()
文件上下文处理
#文件处理之上下文管理:with #with会自带close()功能,会在文件处理完之后自动调用close()关闭 #写文件 # with open(r'C:\Users\涂先生\PycharmProjects\untitled1\day02\文件名11.txt', # 'w', # encoding="utf-8")as f: # f.write('life is short ,u need python')#自动调用close() # #读文件 with open(r'C:\Users\涂先生\PycharmProjects\untitled1\day02\文件名11.txt', 'r', encoding="utf-8")as f: f.read('life is short ,u need python')#自动调用close() #追加文件 with open(r'C:\Users\涂先生\PycharmProjects\untitled1\day02\文件名11.txt', 'a', encoding="utf-8")as f: f.write('life is short ,u need python') # 自动调用close()
视频读写操作
# import requests # res = requests.get( # 'http://uploads.5068.com/allimg/141028/1-14102QR118.jpg' # ) # print(res.content) #写入图片 # with open('路飞.jpg','wb') as f: # f.write(res.content) #读取图片 # with open('路飞.jpg','rb') as f: # res = f.read() # print(res) #文件拷贝操作 # with open('路飞.jpg','rb') as f,open('小路飞.jpg')as w: # res = f.read() # w.write(res) #读写视频 # with open('视频文件.mp4','rb')as f, open('视频文件_copy.mp4','wb')as w: # res = f.read() # print(res) # w.write(res) #with open('资料学习方法.mp4','rb')as f, open('资料_copy.mp4','wb')as w: #一行一行读取内容,一行一行写入,避免内存溢出 # for line in f: # w.write(li
函数基础
#1.什么是函数? ''' 1.什么是函数? 函数相当于工具 2.函数语法 def 函数名(参数1,参数2...): """ 函数声明 """ 函数体代码(逻辑代码) return 返回值 ''' #注册功能 #先定义 def register(): while True: #让用户输入用户名和密码: user = input('请输入用户名:').strip()#去空格 pwd = input('请输入密码:').strip() re_ped = input('请再次输入密码:').strip() #判断两次输入密码是否一致 if pwd == re_ped: # 格式化字符串三种方式 # user_info = '用户名:%s,密码:%s'%(user,pwd) # user_info = '用户名:{},密码:{}'.format(user,pwd) #字符串前写一个f相当于调用format方法 user_info = f'用户名:{user},密码:{pwd}' #把用户信息写入文件 with open(f'{user}.text','w',encoding='utf-8')as f: f.write(user_info) break else: print('两次密码不一致,请重新输入!') register() ''' 函数在定义阶段发生的事情: 1.先打开Python解释器 2.加载函数基础.py文件 3.Python解释器会帮我们检测py文件中语法,但只检测Python语法,不会执行函数体代码 '''