标签:use 生成 int 返回 循环 upd with open word lse
我先放例题了
v = [lambda :x for x in range(10)] print(v) print(v[0]) print(v[0]())
lambda 参数 :返回值
拆解:
f = lambda :x for x in range(10)
现在我们称 f 这个函数 参数为零 返回值是 x for x in range(10)
print(lambda :x for x in range(10)) #结果 <generator object <genexpr> at 0x037B6900>
上面这个是一个已经循环完了的生成器
例题
登陆注册
在读取文件内容时,可以用生成器
# import hashlib # import os # def open_file(): # with open(‘info‘,encoding=‘utf-8‘) as f1: # for line in f1: # v1,v2 = line.split(‘ ‘) # yield v1,v2 这里 # def md5(password): # md5 = hashlib.md5(‘*‘.encode(‘utf-8‘)) # md5.update(password.encode(‘utf-8‘)) # return md5.hexdigest() # def register(): # user = input(‘user‘) # psw = input(‘password‘) # for username,password in open_file(): 这里 # if user == username: # print(‘用户名已经存在‘) # break # else: # with open(‘info‘,‘a‘,encoding=‘utf-8‘) as f2: # f2.write(user+‘ ‘) # f2.write(md5(psw)) # print(‘注册成功‘) # def login(): # user = input(‘user‘) # psw = input(‘password‘) # for username,password in open_file(): 这里 # if user == username and md5(psw) == password: # print(‘登陆成功‘) # break # else: # print(‘登陆错误,没有找到用户名‘) # register() # login()
标签:use 生成 int 返回 循环 upd with open word lse
原文地址:https://www.cnblogs.com/CNHK1949/p/10566864.html