知识点一: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