一,我们来学些新的东西
1,古语:温故而知新
格式化输出:
百分号:占位符
%s %d %%
编码:
ASCII: 只能显示英文,特殊字符,数字。
万国码:Unicode 最开始16位,中文不够改成32位,4个字节。占用资源多。
升级:utf-8,utf-16,utf-32
utf-8:最少用一个字节,8位表示一个英文。
欧洲16位,两个字节。
亚洲 24位,三个字节。
GBK:中国国产,只能用于中文和ASCII码中的文字。
2,数据类型都有哪些呢?
Int : 1,2,3用于计算。
bool:True,False,用户判断。
str:存储少量数据,进行操作
例如:‘fjdsal’
‘二哥’,’`13243’,‘fdshklj’
'战三,李四,王二麻子。。。。'
list:储存大量的数据。
例如:[1,2,3,‘泰哥’,‘12353234’,[1,2,3]]
元组:只读。
例如:(1,2,3,‘第三方’,)
dict:字典{‘name’:‘云姐’,‘age’:16}
例如:{‘云姐’:[],‘二哥’:[200,200,200,。。。。。。]}
集合:{1,2,34,‘asdf’} 但是我们基本不讲!
二,终于又到了实战环节!
1,先看一下我们的家庭作业
⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
i = 3
username = "nanshan"
password = "123456"
while i > 0:
i = i - 1
name = input("请输入你的用户名:")
if name == username:
passwd = input("请输入你的密码:")
if passwd == password:
print("登录成功。请稍后")
print('''
username: %s
password: %s
''' % (username, password))
break
else:
print("你的密码错误 请重新输入")
if i != 0:
print("你还有%s次机会" % i)
if i == 0:
print('您的机会已经用完,本次操作结束!')
break
else:
print("你的用户名错误!请重新输入")
if i != 0:
print("你还有%s次机会" % i)
if i == 0:
print('您的机会已经用完,此次操作结束!')
想不想试试一个更高级的程序~
username = "nanshan"
password = "123456"
i = 3
while i > 0:
zh = input("请输入你的账号:")
i -= 1
if zh == username:
mm = input("请输入你的密码:")
if mm == password:
print("验证成功.正在登陆......")
print('''恭喜你登陆成功!
欢迎用户进入
用户名 :%s
密码 :%s
'''% (zh, mm))
break
else:
if i == 0:
print("你的机会已经没了!game over 下次见!")
answer = input('再试试?Y or N')
if answer == 'Y':
i = 3
if i != 0:
print("密码错误,请重新输入")
print("你还有"+str(i)+"次机会")
else:
print("请输入正确的用户名!")
if i == 0:
print("你的机会已经没了!")
answer = input('再试试?Y or N')
if answer == 'Y':
i = 3
if i != 0:
print("你还有" + str(i) + "次机会")
else:
print('你TM要不要脸!')
2,重新看一点Int的东西
i = 100
print(i.bit_length())
'''
bit_length
1 0000 0001 1
2 0000 0010 2
3 0000 0011 2
'''
3,了解一下BOOL
#int ----> str
i = 1
s = str(i)
#str ---> int
s = '123'
i = int(s)
int ----->bool 只要是0 ---->False 非 0就是True
bool----> int True----> 1 False---->0
'''
ps:
while True:
pass
while 1: 效率高 要记住效率的问题
pass
'''
str —>bool:
s = “” -----> False
非空字符串都是True
s = “0” -----> True
4,我们最后来看一下字符串!
索引:
s = 'ABCDLSESRF'
s1 = s[-1]
print(s1)
s2 = s[-2]
print(s2)
结果:
F
R
s = 'ABCDLSESRF' # s[首:尾:步长]
s3 = s[0:5:2]
print(s3)
s4 = s[::-1]
print(s4)
结果:
ACL
FRSESLDCBA
我们来看一些牛逼的操作:
#字符串的操作
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)
结果:
Alexwusir
ALEXWUSIR alexwusir
ALEXwuSIR
AlexEgon-Wusir
Fade,CrazyW4Rri0R_Songsong Node_3
别停下来!!!
#居中,空白填充
s = 'alexWUsir'
s5 = s.center(20, '~')
print(s5)
#这个地方会保证sir之前是8位
s = 'alex\tsir'
s6 = s.expandtabs()
print(s6)
#以什么开头/结尾 endswith
s = 'alexWUsir'
s7 =s.startswith('alex')
s71 = s.startswith('e',2,5) #判断从第二位到第五位之间是否是 e 开头
print(s71)
'''
if s7:
pass
elif s.startswith('bl'):
pass
print(s7)
'''
结果:
~~~alexWUsir
alex sir
True
就快结束了!!!
# find 通过元素找索引,找不到返回-1
# index通过元素找索引,找不到报错 所以首选是find
s = 'alexWUsir'
s8 = s.find('a')
s81 = s.index('a')
print(s81, type(s8))
#strip 默认删除前后空格
#strip rstrip lstrip
s = 'alexWUsir%'
s9 = s.rstrip('%') #删除符号%
print(s9)
s = '*a%lexWUsir%'
s91 = s.strip('%*')
print(s91)
s = 'alexaa wusirl'
s10 = s.count('al') #数数 al的个数
print(s10)
#split str ---->list
s = 'helloapython'
l = s.split('a')
print(l)
结果:
0 <class ‘int’>
alexWUsir
a%lexWUsir
1
[‘hello’, ‘python’]
最后我们来看一点新鲜玩意~
#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('街坊', '老王', 2) # S.replace(old, new[, count]) -> str
print(s11)
s = 'fhdsklfds'
for i in s:
print(i)
s = 'fdsa苍井空fdsalk'
if '苍井空' in s:
print('您的评论有敏感词...')
结果:
我叫太白,今年36,爱好girl,再说一下我叫太白
请输入名字:nanshan
我叫nanshan,今年36,爱好girl,再说一下我叫nanshan
请输入名字:long
我叫long,今年18,爱好girl,再说一下我叫long
来看待老王邻居复合大师老王法好的撒见客户
f
h
d
s
k
l
f
d
s
您的评论有敏感词…