python学习3

一、内容回顾,加上练习题,登陆界面

练习题

三次机会登陆

#用户登陆(三次输错机会)且每次输错误时显示剩余错误次数
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('登陆失败')
View Code

 二 、数据类型

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)
View Code

顺序读取,从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\tsir'
# 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('您的评论有敏感词...')
View Code

 

首字母大写   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}

{'云姐':[],'二哥':[]}

posted @ 2018-07-14 21:45  xiaofeifeixd  阅读(161)  评论(0编辑  收藏  举报