知识点一:find

用法

S.find(sub[, start[, end]]) -> int

''' 释义: 返回S中找到子串sub的最小索引, 参数start和end为切片表示法,起始下标和终止下标 查找失败时返回-1。 '''

A = "xiaozai"
B = "Welcome to my xiaozai wechat official account , my name is  xiaozai !"

try:
    print(B.index(A)) #输出 14
except:
    print(-1) #未找到则返回-1

print(B.find(A))#输出 14

# 开始位置和结束位置
print(B.find(A, 25, len(B))) #输出 60

知识点二:rfind

用法

S.rfind(sub[, start[, end]]) -> int

''' 释义: 返回S中找到子串sub的最大索引, 参数start和end为切片表示法,起始下标和终止下标 查找失败时返回-1。 '''

A = "xiaozai"
B = "Welcome to my xiaozai wechat official account , my name is  xiaozai !"

print(B.rfind(A)) #输出60

# 没找到返回-1
print(B.rfind("mengwuji")) #输出-1

总结

find和rfind的区别:find找最小,rfind找最大

知识点三:大小写

upper() :所有字母大写

lower() :所有字母小写

capitalize() :首字母大写,其他字母小写

title():每个单词首字母大写,其他小写

另外:Python提供了isupper(),islower(),istitle()方法用来判断字符串的大小写

如果对空字符串使用isupper(),islower(),istitle(),返回的结果都为False。

a = "This is string example....wow!"

print(a.upper()) #输出THIS IS STRING EXAMPLE....WOW!

b = "Welcome To XiaoZai's  World"
print(b.lower()) #输出welcome to xiaozai's  world

习题:完全数

如果一个正整数等于除它本身之外其他所有除数之和,就称之为完全数。

例如:6是完全数,因为6 = 1+2+3;

下一个完全数是28 = 14+7+4+2+1。

题目:1000以下的完全数

方法一:

for a in range(2, 1000):
    s = []
    for i in range(1, a):
        # print(i)
        if a % i == 0:
            # print("能被整除:", i)
            s.append(i)
    if sum(s) == a:
        print(a)

方法二:

for b in range(2, 1000):
    if sum([j for j in range(1, b) if b % j == 0]) == b:
        print(b)

输出

6
28
496
6
28
496

欢迎关注我的微信公众号:
梦无矶的测试开发之路