一、内容回顾,加上练习题,登陆界面
练习题
三次机会登陆
#用户登陆(三次输错机会)且每次输错误时显示剩余错误次数 name = 'xiaofeifei' pwd = '123' i = 1 while i <= 3: username = input('请输入用户名:') password = input('请输入密码:') msg = ''' -------------%s登陆成功------------- 用户:%s 密码:%s ------------- END ------------------''' % (username, username, password) if username == name and password == pwd: print(msg) break else: if 3-i == 0: judgement = input('没有机会了,你还想再重新开始吗,如果想重新开始,请输入YES') if judgement == 'YES': i = 1 continue print('请重新输入,你还有%d次机会' %(3-i)) i += 1 else:print('登陆失败')
二 、数据类型
1.int
i = 5 print(i.bit_length()) #数字转换成二进制最少的位数
2.bool
数字、字符串和bool值的转换
#数字转换成bool值 i = 4 b = bool(i)
s = ''#空字符串转换成bool值是False s = ' '#非空字符串都是True
字符串和bool值转换的应用
s = input('enter your name:') if s: print(s) else: print('the input is bare') #如果是'',执行这一条
3.str
字符串的索引和切片:
s = 'ABCDLSESRF' #索引 # s1 = s[0] # print(s1) # s2 = s[2] # print(s2) # s3 = s[-1] # print(s3) # s4 = s[-2] # print(s4) # #ABCD 切片 :顾头不顾尾 # s5 = s[0:4] # print(s5) # s6 = s[0:-1] # print(s6) # s7 = s[:] # s8 = s[0:] # print(s7,s8) # s9 = s[0:0] s = 'ABCDLSESRF' # s[首:尾:步长] # s10 = s[0:5:2] # print(s10) s11 = s[4:0:-1] print(s11) s12 = s[3::-1] print(s12) s13 = s[3::-2] print(s13) s = 'ABCDLSESRF' s14 = s[-1::-1] print(s14) s15 = s[::-1] print(s15)
顺序读取,从0 开始; 逆序读取,从-1开始
顾头不顾尾 尾巴上标号的数字,无法取到,s[2:5]即取第3、4、5个数字
字符串的用法、操作
s = 'alexWUsir' s1 = s.capitalize() # 首字母大写 # print(s1) # 全大写,全小写 s2 = s.upper() s21 = s.lower() # print(s2,s21) ''' s_str= 'acEQ1' you_input =input('请输入验证码,不区分大小写') if s_str.upper() == you_input.upper(): print('输入成功') else: print('请重新输入') ''' #大小写翻转 # s3 = s.swapcase() # print(s3) # 每个隔开(特殊字符或者数字)的单词首字母大写 # s = 'alex*egon-wusir' # s4 = s.title() # print(s4) # s = 'fade,crazy*w4rri0r_songsong node_3' # s4 = s.title() # print(s4) #居中,空白填充 # s = 'alexWUsir' # s5 = s.center(20,'~') # print(s5) # s = 'alex sir' # s6 = s.expandtabs() # print(s6) # s = 'alex二哥' # #公共方法 # l = len(s) # print(l) #以什么开头结尾 endswith # s = 'alexWUsir' # s7 =s.startswith('alex') # s71 = s.startswith('e',2,5) # print(s71) ''' if s7: pass elif s.startswith('bl'): pass print(s7) ''' # find 通过元素找索引,找不到返回-1 # # index通过元素找索引,找不到报错 # s = 'alexWUsir' # s8 = s.find('A') # s81 = s.index('A') # print(s81,type(s8)) #strip rstrip lstrip # s = 'alexWUsir%' # s9 = s.strip('%') # print(s9) # s = ' *a%lexWUsi* r%' # s91 = s.strip(' %*') # print(s91) # strip 默认删除前后空格 # username = input('请输入名字:').strip() # if username =='春哥': # print('恭喜春哥发财') # s = 'alexaa wusirl' # s10 = s.count('al') # print(s10) # split str ---->list # s = ';alex;wusir;taibai' # l = s.split('a') # print(l) #format的三种玩法 格式化输出 # s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白') # print(s) # name = input('请输入名字:') # s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl') # print(s) # name = input('请输入名字:') # s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl') # print(s) # s = '来看待街坊邻居复合大师街坊法好的撒见客户' # s11 = s.replace('街坊','老王',1) # print(s11) # s = 'fhdsklfds' # for i in s: # print(i) s = 'fdsa苍井空fdsalk' if '苍井空' in s: print('您的评论有敏感词...')
首字母大写 s.capitalize()
全部大写 s.upper()
全部小写 s.lower()
大小写翻转 s.swapcase()
每个单词首字母大写 s.title(单词可以用空格、符号和数字隔开)
设置输出总长度 s.center()
求字符串长度 l = len(s)
判断前几位由什么组成 s.startwith('xiao')
判断后几位由什么组成 s.endwith('feifei')
通过元素找索引,找到返回位置,没有则返回-1 s.find('SB')
索引元素位置,无该元素则报错 s.index('SB')
去前后空格和其他特殊字符 s.strip() s.strip('%')
只删除字符串前面、后面的空格和特殊字符 s.lstrip s.rstrip
统计字符串中某结构的个数: s.count('DD')
将字符串分割成列表 s.split() s.split(';')
字符串的格式化输出
三种形式
# s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白') # print(s) # s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('太白',36,'girl') # print(s) # name1 = input('name') # s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(name = name1,hobby = 'girl',age = 19) # print(s)
第一种 字符串后直接加format,和%S用法相似
第二种 给字符串格式化输出内容加标号,略去相同类型的format书写
第三种 给字符串格式化输出内容加名称,用名称来作为字符串内输出内容的索引,不用管顺序,推荐用该用法
4.list 列表 用于存储大量数据
[1,2,3,'[3,4,44],'aa']
5.元组 用于存储大量不可改变的、重要的数据
不可改变的列表
(1,2,3,[3,4,'aa'],'bb)
6.字典dict 用于存储大量相关性强的数据
{'name':'云姐’,‘age':16}
{'云姐':[],'二哥':[]}