第二天知识总结
回顾逻辑运算:
print(6 or 2 > 1) print(0 or 5 < 4) print(5 < 4 or 3) print(3 and 2 > 1) print(0 and 3 > 1) print(2 > 1 and 3) print(3 > 1 and 0) # 要满足两边都是真才是真,所以此时输出0而不是f
计算1-2+3+...+99中除了88以外所有的数的总和:
count = 1 sum = 0 while count < 100: if count == 88: count += 1 continue elif count % 2 == 0: sum = sum - count else: sum = sum + count count += 1 print(sum)
计算1-2+3+...-99中除了88以外所有的数的总和:
count = 0 i = -1 sum = 0 while count < 99: count += 1 if count == 88: continue else: i = -i sum = sum + count * i print(sum)
优化之前的登录页面:
i = 3 username = '小明' password = '123456' while i > 0: name = input('请输入用户名') i -= 1 if username == name: pwd = input('请输入密码') if pwd == password: print('登录成功,请稍后...') print('''恭喜登录成功! 欢迎%s的进入 '''%(name)) break else: if i == 0: print('输入错误,你的机会已经用完') break print('密码错误,请重新输入') print('你还有'+str(i)+'次机会') else: if i == 0: print('输入错误,你的机会已经用完') break print('请输入正确的用户名') print('你还有' + str(i) + '次机会')
字符串的操作:
s = 'jackDSs' a = s.capitalize() # 首字母大写 print(a) b = s.upper() # 全大写 print(b) c = s.lower() # 全小写 print(c) d = s.swapcase() # 大小写翻转 print(d) # 例子(验证码的写法) s_str = 'ahRT123' you_input = input('请输入验证码') if s_str.upper() == you_input.upper(): # 也可以全变小写 print('输入正确') else: print('输入错误,请重新输入') # s1 = 'some*table-student$char5count jack' e = s1.title() # 每个隔开(特殊字符或者数字)的单词首字母大写 print(e) # f = s.center(20,'&') # 居中,center(宽度,填充字符可以为空) print(f) # s2 = 'name五十二' g = len(s2) # 计算多少字符 print(g) # s3 = 'sametable' h = s3.startswith('sa',3,5) # 判断是以什么开头结尾,startswith(以什么开头,左开右闭的区间‘可以不写’) h1 = s3.endswith('e') # 以什么为结尾 print(h,h1) # s4 = 'sfsnTUR' g = s4.find('T') # 通过元素找索引,找不到返回-1(index功能一样,但是找不到就报错) print(g) # s5 = ' sdfst ' s5_1 = '%sfsf*' h = s5.strip() # 默认删除前后空格,strip('字符'),中间的不能删除,rstrip()和lstri分别是只删左边和只删右边的意思 h1 = s5_1.strip('%*') print(h,h1) # 例子(在用户输入的时候) username = input('请输入用户名').strip() if username == ' 小明 ': print('输入正确') else:print('输入错误') # s6 = 'sfsg sfasf' i = s6.count('s') # 统计个数,可切片统计 print(i) # s7 = 'sfasf%saf%afa' j = s7.split('%') # 分割,相当于把str转换为list(列表);split(默认为空隔) print(j)
format的三种用法,格式化输出:
s8 = '我叫{},今年{},爱好{},再说一声我叫{}'.format('小明','20','游戏','小明') print(s8) s8 = '我叫{0},今年{1},爱好{2},再说一声我叫{0}'.format('小明','20','游戏') print(s8) s8 = '我叫{name},今年{age},爱好{hobby},再说一声我叫{name}'.format(age='20',name='小明',hobby='游戏') print(s8)
replace(替换)的用法:
s9 = '明天真好啊明天' k = s9.replace('明天','今天') # 默认全部替换 k2 = s9.replace('明天','今天',1) # 只替换规定的 print(k,k2)
is系列,返回值为true和false:
s10 = 'xiaoming123' m = s10.isalnum() # 字符串由字母和数字组成 print(m) m1 = s10.isalpha() # 字符串只由字母组成 print(m1) m2 = s10.isdigit() # 字符串只由数字组成 print(m2)
for(有限)循环:
s11 = 'akljsfkl' for n in s11: print(n) s11_1 = '明天杀了他' if '杀' in s11_1: # 也有(not in) print('你输入有敏感字')