python第二课
今日作业:
代码:
def login(): count = 0 while True: if count != 3: users = input('请输入用户名:').strip() pwds = input('请输入密码:').strip() user = '' pwd = '' dict = {} with open('user_info.txt', 'rt', encoding='utf-8-sig') as f: for line in f: line = line.split('\n')[0].split(',') for info in line: if '用户名' in info: user = info[4:] else: pwd = info[3:] dict[user] = pwd if users in dict: if pwds == dict[users]: print('登陆成功!') break else: print('用户名或密码错误!') else:print('用户名或密码错误!') if count < 2: print('请重新输入(剩余%s次机会)!' % (2 - count)) count += 1 else:print('3次输入错误,退出!') break
课上笔记:
#1、什么是函数? #函数相当于工具,需要事先准备好,在需要用时再使用 #2、如何使用函数 #函数必须先定义、后调用。 #3、函数的语法: #def 函数名(参数1,参数2……) #函数的声明 #水杯,用来盛水与喝水 #函数体代码(逻辑代码) #def:define用来声明定义函数的关键字 #函数名:看其名知其意 #():括号,存放是接收外界的参数 #注释:用来说明函数的作用 #函数体代码:逻辑代码 #return:后面跟函数返回值 #注册功能 def register(): while True: user=input('请输入用户名:'),strip() pwd=input('请输入密码:'),strip() re_pwd=input('请确认密码:'),strip() #判断再次输入密码是否一致 if pwd==re_pwd: user_info=f'用户名:{user},密码:{pwd}' with open('user.txt','w',encoding='utf-8') as f: f.write(user_info) break else: print('两次密码不一致,请重新输入!')
# #列表类型 # #1.insert() #插入 # # 第一个参数:索引 第二个参数:插入的值 # list1=['tank',18,'male',3.0,9,'广东','tank',[1,2]] # list1.insert(2,'oldboy') # print(list1) # #2.pop() #取出 # #3.remove() #移除 # #4.court()#查看某个值的个数 # print(list1.count('tank')) # #5.index() #查看值的索引 # print(list1.index('广东'),'--广东') # #6.clear() #清空列表的值 # list1.clear() # print(list1) # # #7.copy() #浅拷贝 # #将list1的内存地址浅拷贝赋值给list2 # list2=list1.copy() # print(list2,'添加值前') # #将list1的原地址直接赋值给了list3 # list3=list1 # print(list3,'添加值前') # #深拷贝 # from copy import deepcopy # #将list1的值深拷贝赋值给list4 # list4=deepcopy(list1) # #追加Jason到list1中国 # list1.append('jason') # print(list2,'添加值后') # print(list3,'添加值后') # #给list1中的可变列表进行追加值 # #list1[8].append('tank') # #打印直接赋值、深、拷贝的结果 # #浅拷贝:list1的列表中外层值改变对其不影响 # #但对list1中的可变类型进行修改则会随之改变值 # print(list2) # print(list3) # # #深拷贝:把list1中是所有值完全拷贝到一个新地址中 # #进而与list1完全隔离开 # print(list4) # # # #8.extend() n#合并 # list1=[1,2,3] # list2=[4,5,6] # list1.extend(list2) # print(list1) # # #9.reverse() #反转 # list1.reverse() # print(list1) # # #10.sort() #排序 # list3=[1,3,5,8,10,2,4,6] # #升序 # #list3.sort() # #print(list3) # # #降序 # list3.sort(reverse=True) # print(list3) # # # #字典的内置方法(字典是无序的) # #1、按照key取/存值 # dict1={'name':'张琦','age':18,'sex':'male','school':'安徽工程大学'} # # #根据key取张琦的学校 # print(dict1['school']) # print(dict1['sal']) # # #get() # #第一个参数是字典的key # #第二个参数是默认值,若key存在则取key对应的值,否则取默认值 # print(dict1.get('school','华南理工大学')) # print(dict1.get('sal','15000')) # # #2、len # print(len(dict1)) #4 # # #3、成员运算in和not in # print('name' in dict1) #True # print('sal' in dict1) #False # print('sal' not in dict1) #True # #4、删除 # del dict1["name"] # print(dict1) # # #pop() # #根据字典中的key取出对应的值赋值给变量name # name=dict1.pop('name') # print(dict1) # print(name) # # #随机取出字典中的某个值 # dict1.popitem() # print(dict1) # #5、keys、valus、items # print(dict1.keys()) # print(dict1.values()) # print(dict1.items()) # # #6.循环 # #循环字典中所有的key # for key in dict1: # print(key) # # #7 、update() # print(dict1) # dict2={"work":"student"} # # 把dict2加到1dict1字典中 # dict1.update(dict2) # print(dict1) # # #元组类型(在小括号内,以逗号隔开存放多个值) # #注意:元组与列表的区别,元组是不可变类型,列表是可变类型 # tuple1={1,2,3,4,5,6} # print(tuple) # #优先掌握 # #1、按索引取值 # print(tuple1[2]) # #2、切片(顾头不顾尾) # print(tuple1[0:6]) #(1,2,3,4,5,6) # #步长 # print(tuple1[0:6:2]) #(1,3,5) # #3、长度 # print(len(tuple1)) #6 # #4、成员运算 in 和 not in # # print(1 in tuple) #Ture # print(1 not in tuple) #False # # #5、循环 # for line in tuple1: # print(line) # # #三 集合类型(一般用于去重) # #在{}以逗号隔开,可存放多个值,但集合会自带默认值去重功能 # set1={1,2,3,4,2,1,3,4} # print(set1) # # #集合是无需的 # set1=set() # set2={} # print(set1) # print(set2) # # set2['name']='tank' # print(type(set2)) # # # #文件读写基本使用 # #open (参数1:文件的绝对路径/文件的名字,参数2:操作模式,参数3:指定字符编码) # #f:称之为句柄 # #r: 避免转义符 # #打开文件会产生两种资源,一种是Python解释器与Python文件资源,程序结束 # #另一种是操作系统打开文件的资源,文件打开后,操作系统并不会帮我们自动收回 # f=open(r'C:\Users\administortra\PycharmProjects\untitled\Python2.py文件的名字.txt', # mode="wt",encoding="utf-8") # f.write('hello tank1') # f.close() # # # #读文件 f=open(r'C:\Users\administortra\PycharmProjects\untitled\Python2.py文件的名字.txt,', 'r',encoding='utf-8') res=f.read() print(res) f.close() #文件追加模式 a f=open(r'C:\Users\administortra\PycharmProjects\untitled\Python2.py文件的名字.txt', 'a',encoding='utf-8') f.write('\nhello jason') f.close()