python每日一练(四)
知识点一: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
python的基础是非常重要的,万变不离其宗,基础打得牢固,才能走的更远。