第三天学习内容

一、作业:用户三次登陆机会

username = 'nidemingzi'
password = '123'
i = 3
while i > 0:
    yname = input('请输入你的账号:')
    i -= 1
    if yname == username:
        print('账号输入正确')
        pawd = input('请输入你的密码:')
        if pawd == password:
            print('密码输入正确,正在登陆……')
            print('登陆成功')
            break
        else:
            print('密码输入错误,你还有 %s次机会' % (i))
            pawd = input('请再次输入密码:')
            if pawd == password:
                print('密码输入正确,正在登陆……')
                print('登陆成功')
                break
    else:
        print('账号输入错误,请重新输入.')
        if i == 0:
            print('你的机会已经没了')

二、主要数据类型:

1、int :用于计算

2、bool :用于判断(True / False)

3、str :存储少量数据,进行计算

4、list :列表 [ ] 储存大量数据  [ 1, 2 , '数据', [1,2 ] ]

5、元组:( ) 只读,不能修改

6、字典: {"键": "值" }  {'name' : '小王' , 'age': 18 ,'小二':['年龄、身高……']}

7、集合{1,'王五',2}  :使用较少

三、字符串操作

1、关于字符串大小写的操作:

⑴、首字母大写:.title() /   .capitalize():如果字符串是连续一串并且被隔开(特殊符号、空格),则只能让第一个词首字母大写

⑵、全部大写: .upper()

⑶、全部小写: .lower()

⑷、大小写翻转: .swapcase.()

2、意义:输入验证码时不区分大小写

yanzhengma = 'sEd1'
shuru = input('请输入验证码,不区分大小写')
if shuru.upper() == yanzhengma.upper():
    print('登陆成功')
else:
    print('输入错误')

3、居中、空白填充:.center()(使用较少)

s = 'Alex'
s1 = s.center(15, '*')
print(s1)

4、字符串长度:len() :公共方法,列表、元组都能用

s = 'hjlj5 6 hjhlk  aehk ghkj'
s1 = len(s)
print(s1)  #--->24 :空格也是一个元素

5、判断以什么开头(.startwith),以什么结尾(.endwiht)

s = 'hjjlangnljk'
s1 = s.startswith('j',2,9) # 判断区间:[2,9)。 返回值就是bool值
print(s1)  # --->True :在2-9区间内是以'j'开头
s = 'hjjlangnljk'
s1 = s.endswith('g', 0,7)   # 在[0,7)这个区间内是不是以'g'结尾
print(s1)  # ---->True

6.1通过元素找索引 : .find():索引如果未找到则返回“-1”  / .idex() :索引未找到则报错

s = 'jioEFoNhk'
s1 = s.find('o')   
print(s1)  # ---> 2 :返回寻找的这个元素的位置

6.2 如果字符串中有两个或者更多一样的索引值:通过指定索引区间来进行索引

s = 'jioEFoNhk'
s1 = s.find('o', 3, 6)  # 索引区间:[3,6)
print(s1)   # --->5 :在[3,6)区间中'o'在第5个位置

7.1去空格:.strip():默认删除前后空格   意义:用于用户输入时无意中输入的空格导致输入错误

username = input('请输入你的账号')
if username.strip() == 'yourname':
    print('输入正确')
else:
    print('输入错误')

7.2 删除开头结尾指定特殊字符

s = ' shljhljhl$'
s1 = s.strip(' s$')  # 删除了'空格、s、$';中间被其他元素遮挡的删不了
print(s1)

7.3 rstrio() :只删除右边; lstrip() :只删除左边

s = ' shljhljhl$'
s1 = s.rstrip(' s$')  
s2 = s.lstrip(' s$')
print(s1,s2)

8、数元素个数 .count()

s = 'agweljl hjliu ea 11'
s1 = s.count('agw')
print(s1)  --->1 :可以单个数,也可以整体数

9、拆分(字符串拆分成列表) :.split()   str ---> list

s = 'hij:hoj:ljoh hjj'
s1 = s.split(':') # 默认以空格进行拆分,但可以指定字符串中任意元素进行拆分
print(s1)

10、替换:.replace('old', 'new', 'count')

s = '我是一只小小小鸟,我飞的比天高。我是一只鸟。'
s1 = s.replace('','',1)  # 替换了一词,不写次数的话默认全部替换
print(s1)

 

11、判断字符串是否全是由数字或者字母还是混合组成:返回值为: True / False

意义:可以作为判别条件:比如:设置密码时可以判断输入的是否全是数字或字母,是的话让他混合使用

name = 'huhuh353'
print(name.isalnum()) # 字符串由数字和字母组成 --->True
print(name.isalpha()) # 字符串只由字母组成   --->False
print(name.isdigit()) # 字符串只由数字组成   --->False

12、for循环:有限循环

a = 'hhjjjlj'
for s in a:
    print(s)  # 将字符串中每个元素都打印出来

13、in / not in :判别元素是否在字符串里面

a = '英语学习:fuck shit'
if 'fuck' in a :
    print('请使用文明用语')
if 'fuck' not in a :
    print('你是一个文明人')

14、字符串索引与切片:

s = 'hkslfj'

s2 = s[0]   # 索引
print(s2)   # ---> h

s3 = s[0:4] # 切片
print(s3)   # ---> hksl

s4 = s[0:5:2] # 跳着切,隔一个取一个 [首:尾:步长]
print(s4)     # ---> hsf

s5 = s[3::-1] # 倒着取
print(s5)   # ---> lskh

s6 = s[::-1]  # 倒着全部索引
print(s6)     # ---> jflskh

四、数据类型转换:

1、int ---> str

i = 1
s= str(i)
 print(s)

2、str ---> int

i = '123'
s= int(i)
print(s)

3、Int ---> bool

i = 0
s = bool(i)
print(s)

4、bool ---> int

a = int(True)   # --->1
b = int(False)  # --->0
print(a,b)

5、str ---> bool : 空字符串就是False 非空就是True

s = ''
s1 = bool(s)
print(s1) # --->False
 

猜你喜欢

转载自www.cnblogs.com/wan520/p/10802764.html