回顾昨天的问题
1、用户输入3次机会,并实现显示剩余次数
1 i = 0 2 while i < 3: 3 username = input(‘请输入用户名:‘) 4 password = input(‘请输入密码:‘) 5 if username == ‘yh‘ and password == ‘mm‘: 6 print(登陆成功) 7 else: 8 a = 2 - i 9 print(‘密码错误重新输入‘) 10 print(‘您还剩余%s次机会 ‘%(a)) 11 i += 1
2、计算1-2+3-4+5-6.。。。。。。。99,以此类推除去88的值
1 #先写出如何实现完整的加减链,根据分析可以得出 奇数为加 偶数为减 2 sum = 1 3 count = 0 4 #想要的得出99,就得设置相对用的条件 5 while count < 100: 6 #使用if条件分开奇数,偶数 7 if count == 88: 8 count += 1 9 continue 10 if count%2 == 0: 11 sum -= count 12 else: 13 sum += count 14 count += 1 15 print(sum)
int 类型
int常见的就是将其他形式转化为数字,值得注意的其他形式必须为数字
int 中包含的就是常见的 1,2,3,4,5 + -* % / //
常见得形式由字符转换为数字
str转换为int 数据转换
布尔类型(bool)
1、bool 类型只有两种形式 False ture
2、False为0 Ture为1
bool类型转换为int
是要是0就是False 非0为Ture
1 i = 4 2 b = bool(i) 3 print(i) 4 5 >>> 1
str 转换为bool类型
s = " " False
s = ‘‘0‘‘ Ture
非空字符都是Ture
字符串 str
字符串的索引与切片
1、在python中都是以0开始为第一位
顾头不顾尾的切片方式
1 a = ‘ABCDEFGHIGKLMN’ 2 print(a[0:3]) #打印出第0为到第二位 ABC,0可以不写 3 print(a[:]) # 打印出为ABCDEFGHIGKLMN 4 print(a[1:-3])#BCDEFGHIGK 5 print(a[5:1]) #反向截取FEDCB 6 print(a[-1:1:2])#反向截取,步长为2 NLGHFD
字符串编辑常用方式
1 a = ‘GaoJian12*‘ 2 a1 = a.capitalise() #首字母大写 GaoJian12* 3 a2 = a.upper() #全部大写 GAOJIAN12* 4 a3 = a.lower() #全部小写 gaojian12* 5 ‘‘‘ 6 关于全部大写全部小写问题 经常应用于系统审验不区分大小写的情况 7 s_str = ‘acEQ3‘ 8 you_input = input("请输入验证码,不区分大小写") 9 if s_str.upper()== you_input.upper(): 10 print(‘输入成功‘) 11 else: 12 print(‘请重新输入‘) 13 ‘‘‘ 14 a4 = a.swapcase() #大小写翻转 15 aa = ‘gao jian tao‘ 16 a5 = aa.title() #每个单词的首字母大写,区别的是空格 Gao Jian Tao 17 a6 = a.center(20,‘@‘) #长度20 以@填充两侧,并居中 @也可以是空格 @@@@@[email protected]@@@@ 18 a7 = a.count(‘a‘,0,9) #字符串中关元素出现的次数,切片方式查询a出现的次数 print(a7) <<< 2 19 aa1 = "wwho\t" 20 a8 = aa1.expandtabs() #将\t前面的补全 一个tab 8个键 print(a8) ‘wwho ‘ 如果前面的字符超过8个就补齐至16个字符 21 a9 = a.startswith(‘ian‘,4,7) #在第4-7位判断是否以ian 为开始的 print(a9) 返回布尔值 ture 22 a10 = a.endswith(‘ian‘,4,7) #在在第4-7位判断是否以ian 为结束的 print(a10) 返回布尔值 ture 23 a11 = a.find(‘ian‘1,6) #在1,6为寻找字符串中的元素是否存在 ,如果能找到返回位置,找不到返回-1 print(a11) 返回4 24 a12 = a.index(‘ian‘,1,6) #在1,6为寻找字符串的元素是否存在找不到报错 25 a13 = a.split(‘a‘) print(a13) #[‘G‘,‘oJi‘,‘n12*‘]以什么分割,最终形成一个列表此列表不含有这个分割的元素。 26 # ret91 = ‘title,Tilte,atre,‘.rsplit(‘t‘,1) 从右侧开始第一个t,不包含t分割而出的列表 27 # print(ret91) [‘title,Tilte,a‘, ‘re,‘] 28 name=‘*egon**‘ 29 print(name.strip(‘*‘)) #删除两侧的*号 *号也可以替换成空格,字母之类的东西 30 print(name.lstrip(‘*‘))#删除左侧的*号 31 print(name.rstrip(‘*‘))#删除右侧的*号 32 #format的三种玩法 格式化输出 33 res=‘{} {} {}‘.format(‘egon‘,18,‘male‘) 34 res=‘{1} {0} {1}‘.format(‘egon‘,18,‘male‘) 35 res=‘{name} {age} {sex}‘.format(sex=‘male‘,name=‘egon‘,age=18) 36 #replace 37 name=‘gao say :i have one tesla,my name is gao‘ 38 print(name.replace(‘gao‘,‘gaojiantao‘,1)) #替换老的 ’gao’为gaojiantao 替换次数 1 39 #gaojiantao say :i have one tesla,my name is gao 40 ##is系列 41 name = ‘gaojiantaoshuai123‘ 42 print(name.isalnum()) #字符串由字母或数字组成,返回的值为Tuer 43 print(name.isalpha()) #字符串只由字母组成 False 44 print(name.isdigit()) #字符串只由数字组成 False
元组tupe
1、不可更改及修改、切片
2、元祖用(4,‘huju‘,(‘ju‘,‘yh‘))表示
列表list
1、用[]表示
字典
1、用键对表示
for 语法
1 for i in range(1,10): 2 print(i) 3 4 for i in range(1,10,2): # 步长 5 print(i) 6 7 for i in range(10,1,-2): # 反向步长 8 print(i)