python每日一练(五)

简介: 知识点一:find

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


相关文章
|
6月前
|
Python 人工智能
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
99 1
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
|
6月前
|
Shell Unix Linux
Linux 终端命令之文件浏览(3) less
Linux 终端命令之文件浏览(3) less
68 0
Linux 终端命令之文件浏览(3) less
|
6月前
|
Rust
Rust 编程小技巧摘选(8)
Rust 编程小技巧摘选(8)
199 0
Rust 编程小技巧摘选(8)
|
6月前
|
算法 C++ 机器人
力扣 C++|一题多解之动态规划专题(1)
力扣 C++|一题多解之动态规划专题(1)
62 0
力扣 C++|一题多解之动态规划专题(1)
|
6月前
|
C++ Python 索引
Python Numpy入门基础(二)数组操作
Python Numpy入门基础(二)数组操作
54 0
Python Numpy入门基础(二)数组操作
|
6月前
|
C++ 存储
力扣C++|一题多解之数学题专场(1)
力扣C++|一题多解之数学题专场(1)
47 0
力扣C++|一题多解之数学题专场(1)
|
6月前
|
Java Go C++
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
56 0
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
|
6月前
|
Java Go C++
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
62 0
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
|
6月前
|
Java Go C++
Golang每日一练(leetDay0110) 零钱兑换I\II Coin Change
Golang每日一练(leetDay0110) 零钱兑换I\II Coin Change
85 0
Golang每日一练(leetDay0110) 零钱兑换I\II Coin Change
|
6月前
|
Java Go Rust
Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II
Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II
83 0
Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II