一、 随机产生密码并且写入到文本中
1 #-*-coding:utf-8-*- 2 # 2、第二个 3 # 1、写一个产生一批密码的程序,输入100,就产生100条密码 4 # 2、要求密码长度大于6,必须包含大写字母、小写字母、数字和特殊符号 5 # 3、每次产生的密码不能重复 (遍历文件\集合) 6 # 4、写到文件里面 (f = open('users.txt','a+',encoding='utf-8') f.write(username + ':'+ pwd + '\n')) 7 import random 8 import string 9 def test(): 10 f = open('pwd.txt','a+',encoding='utf-8') 11 f.seek(0) 12 num_password = input('请输入你要生成密码条数:') 13 for i in range(int(num_password)): 14 # 定义密码的随机生成集合 15 temp = random.sample(string.digits + string.ascii_lowercase + string.ascii_uppercase + string.punctuation, 16 random.randint(8, 15)) # 从里边随机取3-11个元素 17 18 if set(temp) & set(string.digits) and set(temp) & set(string.ascii_lowercase) and set(temp) & set( 19 string.ascii_uppercase) and set(temp) & set(string.punctuation): 20 21 password5 = ''.join(temp) # 列表转成字符串 22 password_set = set(password5) # 字符串转集合去重复数据 23 new2_password = ''.join(password_set) + '\n' # 集合转字符串,并且每条转行 24 f.write(new2_password) 25 print('写入成功') 26 27 f.close() 28 29 test()
二、注册账号并且注册成功保存在文本中
1 #-*-coding:utf-8-*- 2 # 1、改造登录注册的程序 3 # 1、账号和密码存到文件里面 4 # 2、要判断用户是否存在 5 f = open('users.txt','a+',encoding='utf-8') 6 for i in range(3): 7 username = input('username:').strip() 8 pwd = input('pwd:').strip() 9 cpwd = input('cpwd:').strip() 10 if username=='' or pwd=='' or cpwd=='': 11 print('不能为空') 12 elif username in f: 13 print('用户已注册') 14 elif pwd!=cpwd: 15 print('两次输入的密码不一致') 16 else: 17 f.write(username + ':'+ pwd + '\n') 18 print('注册成功') 19 print(f) 20 f.close()
三、涉及到知识点:
1、切片:
list = [1,2,3,4,5,6]
#切片就是对List一个范围的取值
print(list[0:2])
s = 'abcdefc'
print(s[0:2:2]) #切片顾头不顾尾,最后2是步长
2、列表:
listone=['test','test1','test2']
#曾加:
# listone.append('test0')
# listone.insert(6,'test3')
# print(listone)
# 修改
# listone[1]='testnew'
# print(listone)
#删除
# listone.pop(1)
# listone.remove('test')
# print(listone)
#统计list里面test出现的次数
# print(listone.count('test'))
#找某个元素的下标
# print (listone.index('test'))
#反转list
# listone.reverse()
# print(listone)
# l2=[22,333,44,555,66]
# print(l2.sort())
#
# listone.extend(l2)
# print()
3、集合:
#集合天生去重
s = {1,2,3,3,1,4,5}
s2= set(s)
print(s2)
4、字典:
dict={
'name':'测试',
'id':'1',
'sex':'男',
'age':'33',
'add':'上海'
}
#取值
# print(dict['name'])
# print(dict.get('name'))
# dict['new']
# print(dict['new']) #当key不存在时直接报错
# dict.get('new')
# print(dict.get('new')) #当key不存在时返回None
# print(dict.get('new',0)) #当key不存在时,给一个默认值0
#增加key
# dict['age']=500 #当key已经存在了,修改key
# print(dict)
#
#dict.setdefault('phone',15890987) #当key存在,就不管了
# print(dict)
#修改
# dict['age']=500 #当key已经存在了,修改key,不存在时新增
#删除
# dict.pop('phone')
# print(dict)
#
# del dict['add']
# print(dict)
#清空
#dict.clear()
#取字典里面所有keys
# print(dict.keys())
# #取字典里面所有values
# print(dict.values())
5、字典循环:
s = {
"id": 315,
"name": "矿泉水",
"sex": "女",
"age": 27,
"addr": "上海",
"grade": "摩羯座",
"phone": "18317155664",
"gold": 100
}
#第一种取字典key,value (效率高)
# for i in s: #直接循环字典,每次取的是字典里面的key
# print(i,s[i])
#
#第二种取字典key,value
# for key,value in s.items(): #直接循环字典,每次取的是字典里面的key
# print(key,value)