本文主要是介绍python基础训练 day21,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
python基础训练 day21
小白打卡第21天!
题目来源
这是养成一个好习惯的开始,加油哇!
这里是目录标题
- python基础训练 day21
- 第一题(计算字符串长度)
- 第二题(杨辉三角)
- 第三题(字符串查找)
第一题(计算字符串长度)
# 计算字符串长度。
应用py中的len()方法
# 直接用len()
a = 'hello python'
print(len(a))# 用循环计数
def coount_for_str(a):count = 0for i in a:count += 1print(count)coount_for_str(a)
第二题(杨辉三角)
# 打印出杨辉三角形(要求打印出10行如下图)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
对于杨辉三角可以看作一个特殊的数列,把每一行看做数列的一项,所以每一行中的第n项都是上一行的(n-1项+n项),若是n超过索引项数为零。
def yanghui(n):from copy import copyline1 = [1] # 数列初始项 a0for i in range(n):for k in line1:print(k, end=' ')print()line2 = [] # line2 用于存放递推出下一项line3 = copy(line1) # line3 是将line1前后都加上0新构成的数组,方便用数组索引进行计算line3.insert(0, 0)line3.append(0)for j in range(len(line1)+1):line2.append(line3[j]+line3[j+1])line1 = line2
yanghui(10) # 调用函数
一步一步分析,先建立数学模型,再用代码去实现。
# 运行结果
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
第三题(字符串查找)
# 查找字符串
两种情况。
1.已知元素在字符串中,用index
a = 'hellow python'
b = 'hello'
c = 'java'
1-1 加入对于给定a字符串,我们已经知道‘hello’在里面,想要知道位置
print(a.index(b))
运行结果:
0
1-2 若是寻找a里面没有的元素
print(a.index(c))
显然用这种方法就不行
print(a.index(c))
ValueError: substring not found
2.不知道元素是否在字符串中,用find(或者单纯图省事,因为他不会报错)
print(a.find(b))
print(a.find(c))
运行结果:
0 # 返回位置
-1 # 返回-1 代表没找到
3.若是想要从右侧开始索引,用rfind(),rindex()
print(a.rfind(b))
print(a.rindex(b))
对于本情况结果是一样的,但是若是出现变化:
a = 'hellow python hellow'
b = 'hello'print(a.rfind(b))
print(a.rindex(b))
find,index方法只能找到第一个符合结果的情况下,然后就结束运行
14
14
第21天打卡结束!一起努力!
欲穷千里目,更上一层楼!
这篇关于python基础训练 day21的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!