Python全栈(第一期)Day3

一,我们来学些新的东西

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,Crazy
W4Rri0R_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
您的评论有敏感词…

猜你喜欢

转载自blog.csdn.net/qq_42615032/article/details/83513497
今日推荐