网站微信付款调用,沧州网站制作,杭州模板网站制作,建设招聘网站需要注册什么证一.判断 # 非空即真、非0即真
# 不为空的话就是true#xff0c;是空的话就是false
# 只要不是0就是true#xff0c;是0就是false# 布尔类型
# True False
name input(请输入你的名字#xff1a;).strip()
a [] #false
d{} # false
c 0 #false
f tuple() #false
e #fa…一.判断 # 非空即真、非0即真
# 不为空的话就是true是空的话就是false
# 只要不是0就是true是0就是false# 布尔类型
# True False
name input(请输入你的名字).strip()
a [] #false
d{} # false
c 0 #false
f tuple() #false
e #falseif name: #name里面有没有东西print(name不是为空的。。)
else:print(输入不能为空。。)
# a b c 0 #定义了3个变量 值都是0 二.交换变量 a 1
b 2#交换变量如果不定义第三个变量的方法
a ab # 3
b a-b # 1
a a-b # 2
print(a,b)#python中的做法
b,a a,b #交换两个变量的值,Python底层帮你引入了一个的第三方变量在交换 多个变量交换也可以 如 a,b,cb,c,a
print(a,b) 三. 字符串方法 print(a.index(t)) #找下标
print(a.find(t)) #找下标
# 1 find()方法查找子字符串若找到返回从0开始的下标值若找不到返回-1
info abca
print( info.find(a))##从下标0开始查找在字符串里第一个出现的子串返回结果0
info abca
print (info.find(a,1))##从下标1开始查找在字符串里第一个出现的子串返回结果3
info abca
print( info.find(333))##返回-1,查找不到返回-1
# 2 index()方法
# python 的index方法是在字符串里查找子串第一次出现的位置类似字符串的find方法不过比find方法更好的是如果查找不到子串会抛出异常而不是返回-1
info abca
print(info.index(a))
print(info.index(33))
# rfind和rindex方法用法和上面一样只是从字符串的末尾开始查找。print(a.replace(t,T)) #替换
print(a.isdigit()) #是否全都是数字
print(a.islower()) #是否全都是x小写字母
print(a.isupper()) #是否全都是大写字母
print(a.isalpha()) #是否全都是汉字或者字母
print(a.isalnum()) #只要里面没有特殊符号就返回true …
print(a.upper()) #变成大写
print(a.lower())#变成小写
print(a.startswith(test)) #以xx开头
print(a.endswith(.xls)) # 以xx结尾
import string
print(string.ascii_lowercase) #所有的小写字母
print(string.ascii_uppercase) #所有大写字母
print(string.digits) #所有的数字
print(string.ascii_letters) #所有大写字母和小写字母
print(string.punctuation) #所有的特殊字符l[zhang,liu,liang]
res ,.join(string.ascii_lowercase) #1、它把一个list变成了字符串
#2、通过某个字符串把list里面的每个元素连接起来
#3、只要是可以循环的join都可以帮你连起来
namesabcd
print(list(names))
name_list names.split()#根据某个字符串分割字符串,什么也不传的话是以空格分割的
print(name_list)
user牛寒阳
sex男
age18
addr回龙观
money 1000w
cars1w台
# words insert into user values (%s,%s,%s,%s,%s,%s);%(user,sex,age,addr,money,cars)
sql insert into user values ({name},{sex},{age},{addr},{qian},{che});
new_sql sql.format(ageage,checars,nameuser,sexsex,qianmoney,addraddr)
print(new_sql)
print(欢迎登录.center(50,*)) print(1.zfill(4)) #自动补足4位前面补0 四.深拷贝浅拷贝 # int float list dict tuple set
# 天生去重
import copy
#浅拷贝
#深拷贝lis [1,1,2,3,4,5,6,8]
l2 copy.deepcopy(lis) #深拷贝
# l2 lis #浅拷贝
print(id(lis))
print(id(l2)) #id和lis的不同
l2.append(aaa)
lis.remove(8)
print(lis)
print(l2)
# print(id(l))
print(id(l2)) #浅拷贝和深拷贝的区别就是深拷贝会重新开辟一个内存空间连个list相互独立不受影响#动态循环删list里面的数据的时候结果会不正确
l[1,1,2,3,4,5,6,8]
# 0 1 2 3 4 5 6 7 第一次取下标0的元素1然后删掉
# [1,2,3,4,5,6,8]
# 0 1 2 3 4 5 6 第二次取下标1的元素2, 所以第一个元素被跳过了没有检查
print(l)
for i in l:if int(i)%2!0:l.remove(i)
print(l) #[1, 2, 4, 6, 8] #为什么多了一个1因为是根据下标循环list的操作后元素的位置变了#所以我们定义两个相同的list用第二个循环用第一个删除结果就正确了因为可以保证没有元素都被检查到了
l2copy.deepcopy(l)
for i in l2:if int(i)%2!0:l.remove(i)
print(l) 五.集合 # 集合天生就能去重集合也是无序的
sset() #空集合
s2 set(1234445566778)
# print(s2)
s3 {1,1,3,4,5,6,7,9} #自己定义一个集合和字典的区别是字典有keyvalue
#d {k:v} #字典
# 交集 并集 差集
# 就是两个集合相同的地方
print(s3 s2) #取交集
print(s3.intersection(s2)) #取交集
#并集# 就是把两个集合合并到一起然后去重
print(s2 | s3) #取并集
print(s2.union(s3)) #取并集
s4 {1,2,3}
s5 {1,4,6}
#差集#在一个集合里有在另一个集合里面没有的
# S4里面有s5里面没有的
# 取一个集合存在另一个不存在的元素
print( s4 - s5) #取差集
print(s4.difference(s5)) #取差集
#对称差集#俩集合里面都没有#去掉俩集合里面都有的
print(s4 ^ s5)
print(s4.symmetric_difference(s5))
s4.add(ss) #加元素
s4.pop()#随机删一个
s4.remove(ss)#指定删除哪个
s4.update({1,2,3}) #把另外一个集合加进去
s4.isdisjoint(s5)#如果没有交集的话返回true可以用于判断是否不包含黑名单中的内容 学会了集合后判断密码复杂性就更方便了 # 校验密码里面是否包含
# 数字、大写字母、小写字母、特殊符号
import string
nums_set set(string.digits)
upper_set set(string.ascii_uppercase)
lower_set set(string.ascii_lowercase)
pun set(string.punctuation)
for i in range(5):pwdinput(请输入密码:).strip()pwd_set set(pwd)if pwd_set nums_set and pwd_set upper_set and pwd_set lower_set and pwd_set pun:print(密码是合法的,pwd)else:print(密码必须包含大写字母、小写字母、数字和特殊字符) 六.文件操作 # python 2 3
# file() #python2中有python3中没有
#utf-8 bbk
# 读模式 写模式 追加模式
f open(names,r,encodingutf-8) #python3和python2中都有 r模式指针在文件开头读过后到末尾
print(f.read()) #读文件
# f.seek(0)
print(f.readline()) #读取一行内容
# f.seek(0)
print(f.readlines()) #是把文件的每一行放到一个list里面
# f.write(双方都)#写入
# f.seek(0)
# print(f.read())
#只要沾上了r文件不存在的就会报错
#只要沾上了w都会清空原来的内容# 读模式 r 读写模式 r#1、不能写#2、文件不存在的话会报错
# 写模式 w 写读模式 w#1、文件不存在的话会帮你新建文件#2、打开一个已经存的文件他会清空以前文件的内容#3、不能读# 追加模式 a 追加读模式 a #文件末尾去增加内容# 1、文件不存在的话会帮你新建文件# 2、打开一个已经存的文件不会清空末尾增加# 3、不能读 七.文件指针 # 文件指针
# 用来记录文件到底读到哪里了
f open(naems,a,encodingutf-8)
# a模式的文件指针是在末尾的
f.write(呵呵呵)
f.seek(0) #移动文件指针到最前面
f.write(鹏妹妹) #移动完文件指针之后是只能读写的时候还是在文件末尾写
f.seek(0)
print(f.read()) 小练习自动产生电话号码并写入到一个文件中 import random
#18612343,
#12384234
# 1861253 2945
print(random.randint(1,9999))
print(1.zfill(4)) #自动补足4位前面补0#1、先随机产生一些手机号
#2、写到文件里面
f open(phones.txt, w)
num input(请输入你要产生的手机号个数:)
for i in range(int(num)): #start 1861235random_num str(random.randint(1, 9999))new_num random_num.zfill(4)#补0phone_num startnew_num f.write(phone_num\n)
f.close() 小练习 #需求
# 1、监控日志如果有攻击咱们的就把ip加入黑名单#分析#1、打开日志文件#2、把ip地址拿出来#3、判断每一个ip出现的次数如果大于100次的话加入黑名单#4、每分钟读一次#直接循环一个文件对象的话每次循环的是文件的每一行
#文件句柄 文件对象
import timepoint 0 # 每次记录文件指针的位置
while True:all_ips [] #存放所有的ip地址f open(access.log,encodingutf-8)f.seek(point)#移动文件指针for line in f:ip line.split()[0]all_ips.append(ip)point f.tell() #记录了指针的位置all_ip_set set(all_ips) #for ip in all_ip_set:if all_ips.count(ip)50:print(应该加入黑名单的ip是%s%ip)f.close()time.sleep(60) #暂停60秒# for i in all_ips:
# if all_ips.count(i)100:
# print(攻击的ip是%s%i) 八.自动关闭文件 with open(geci,a) as f:for line in f:pass 作业 #1、写一个自动生成密码文件的程序 1、你输入几文件里面就给你产生多少条密码 2、密码必须包括大写字母、小写字母、数字、特殊字符 3、密码不能重复 4、密码都是随机产生的 5、密码长度6-11 http://www.nnzhp.cn/archives/150 随机数怎么用 参考 random模块怎么用 import random,string
i input(请输入需要产生的条数)
f open(passwd.txt,w)
str string.ascii_letters string.punctuation string.digits
list []
passwd_insert
a 0
while aint(i):passwd_new []passwd_new.append(random.choice(string.digits))passwd_new.append(random.choice(string.punctuation))passwd_new.append(random.choice(string.ascii_lowercase))passwd_new.append(random.choice(string.ascii_uppercase))passwd_newrandom.sample(str,random.randint(2,7)) passwd_newrandom.shuffle(passwd_new)print(passwd_new)passwd_insert .join(passwd_new)if list.count(passwd_insert):continueelse:list.append(passwd_insert)f.write(passwd_insert \n)a1
f.close() #2、写一个注册的程序账号和密码都存在文件里面。 choice input(请输入你的选择1注册2、删除用户3、登录) #注册 输入 账号 密码 密码确认 # #需要校验用户是否存在两次输入的密码是否一致为空的情况 #账号和密码都存在文件里面 #删除 输入一个用户名 #需要校验用户是否存在 #登录 输入账号密码登录 user_info {} #存放所有的用户
with open(users.txt) as f:for line in f:# niuhanyang,123456\nline line.strip()temp line.split(,)username temp[0]pwd temp[1]user_info[username]pwd
for i in range(3):choice input(请输入你的选择1、登录 2、注册 3、删除).strip()if choice1:username input(username:).strip()pwd input(pwd:).strip()if username and pwd:if username in user_info:if user_info.get(username)pwd:print(登录成功)else:print(账号密码错误)else:print(user not found!)else:print(账号密码不能为空)elif choice2:username input(username:).strip()pwd input(pwd:).strip()cpwd input(cpwd:).strip()if username and pwd and cpwd:if username in user_info:print(该用户已经被注册)else:if pwdcpwd:user_info[username]pwdprint(恭喜注册成功)else:print(两次输入的密码不一致)else:print(不能为空)elif choice3:username input(username:).strip()if username:if username in user_info:user_info.pop(username)print(删除成功)else:print(不能为空)else:print(输入有误请重新输入)
else:with open(users.txt,w) as fw:for uname,pwd in user_info.items():fw.write(uname,pwd\n) 转载于:https://www.cnblogs.com/lilyzhang-2018/p/9878495.html