一、作业:用户三次登陆机会
username = 'nidemingzi' password = '123' i = 3 while i > 0: yname = input('请输入你的账号:') i -= 1 if yname == username: print('账号输入正确') pawd = input('请输入你的密码:') if pawd == password: print('密码输入正确,正在登陆……') print('登陆成功') break else: print('密码输入错误,你还有 %s次机会' % (i)) pawd = input('请再次输入密码:') if pawd == password: print('密码输入正确,正在登陆……') print('登陆成功') break else: print('账号输入错误,请重新输入.') if i == 0: print('你的机会已经没了')
二、主要数据类型:
1、int :用于计算
2、bool :用于判断(True / False)
3、str :存储少量数据,进行计算
4、list :列表 [ ] 储存大量数据 [ 1, 2 , '数据', [1,2 ] ]
5、元组:( ) 只读,不能修改
6、字典: {"键": "值" } {'name' : '小王' , 'age': 18 ,'小二':['年龄、身高……']}
7、集合{1,'王五',2} :使用较少
三、字符串操作:
1、关于字符串大小写的操作:
⑴、首字母大写:.title() / .capitalize():如果字符串是连续一串并且被隔开(特殊符号、空格),则只能让第一个词首字母大写
⑵、全部大写: .upper()
⑶、全部小写: .lower()
⑷、大小写翻转: .swapcase.()
2、意义:输入验证码时不区分大小写
yanzhengma = 'sEd1' shuru = input('请输入验证码,不区分大小写') if shuru.upper() == yanzhengma.upper(): print('登陆成功') else: print('输入错误')
3、居中、空白填充:.center()(使用较少)
s = 'Alex' s1 = s.center(15, '*') print(s1)
4、字符串长度:len() :公共方法,列表、元组都能用
s = 'hjlj5 6 hjhlk aehk ghkj' s1 = len(s) print(s1) #--->24 :空格也是一个元素
5、判断以什么开头(.startwith),以什么结尾(.endwiht)
s = 'hjjlangnljk' s1 = s.startswith('j',2,9) # 判断区间:[2,9)。 返回值就是bool值 print(s1) # --->True :在2-9区间内是以'j'开头
s = 'hjjlangnljk' s1 = s.endswith('g', 0,7) # 在[0,7)这个区间内是不是以'g'结尾 print(s1) # ---->True
6.1通过元素找索引 : .find():索引如果未找到则返回“-1” / .idex() :索引未找到则报错
s = 'jioEFoNhk' s1 = s.find('o') print(s1) # ---> 2 :返回寻找的这个元素的位置
6.2 如果字符串中有两个或者更多一样的索引值:通过指定索引区间来进行索引
s = 'jioEFoNhk' s1 = s.find('o', 3, 6) # 索引区间:[3,6) print(s1) # --->5 :在[3,6)区间中'o'在第5个位置
7.1去空格:.strip():默认删除前后空格 意义:用于用户输入时无意中输入的空格导致输入错误
username = input('请输入你的账号') if username.strip() == 'yourname': print('输入正确') else: print('输入错误')
7.2 删除开头结尾指定特殊字符
s = ' shljhljhl$' s1 = s.strip(' s$') # 删除了'空格、s、$';中间被其他元素遮挡的删不了 print(s1)
7.3 rstrio() :只删除右边; lstrip() :只删除左边
s = ' shljhljhl$' s1 = s.rstrip(' s$') s2 = s.lstrip(' s$') print(s1,s2)
8、数元素个数 .count()
s = 'agweljl hjliu ea 11' s1 = s.count('agw') print(s1) --->1 :可以单个数,也可以整体数
9、拆分(字符串拆分成列表) :.split() str ---> list
s = 'hij:hoj:ljoh hjj' s1 = s.split(':') # 默认以空格进行拆分,但可以指定字符串中任意元素进行拆分 print(s1)
10、替换:.replace('old', 'new', 'count')
s = '我是一只小小小鸟,我飞的比天高。我是一只鸟。' s1 = s.replace('鸟','鸭',1) # 替换了一词,不写次数的话默认全部替换 print(s1)
11、判断字符串是否全是由数字或者字母还是混合组成:返回值为: True / False
意义:可以作为判别条件:比如:设置密码时可以判断输入的是否全是数字或字母,是的话让他混合使用
name = 'huhuh353' print(name.isalnum()) # 字符串由数字和字母组成 --->True print(name.isalpha()) # 字符串只由字母组成 --->False print(name.isdigit()) # 字符串只由数字组成 --->False
12、for循环:有限循环
a = 'hhjjjlj' for s in a: print(s) # 将字符串中每个元素都打印出来
13、in / not in :判别元素是否在字符串里面
a = '英语学习:fuck shit' if 'fuck' in a : print('请使用文明用语') if 'fuck' not in a : print('你是一个文明人')
14、字符串索引与切片:
s = 'hkslfj' s2 = s[0] # 索引 print(s2) # ---> h s3 = s[0:4] # 切片 print(s3) # ---> hksl s4 = s[0:5:2] # 跳着切,隔一个取一个 [首:尾:步长] print(s4) # ---> hsf s5 = s[3::-1] # 倒着取 print(s5) # ---> lskh s6 = s[::-1] # 倒着全部索引 print(s6) # ---> jflskh
四、数据类型转换:
1、int ---> str
i = 1 s= str(i) print(s)
2、str ---> int
i = '123' s= int(i) print(s)
3、Int ---> bool
i = 0 s = bool(i) print(s)
4、bool ---> int
a = int(True) # --->1 b = int(False) # --->0 print(a,b)
5、str ---> bool : 空字符串就是False 非空就是True
s = '' s1 = bool(s) print(s1) # --->False