python-函数

浏览: 1118

函数基础

定义函数使用def语句,依次写出函数名括号、括号中的参数冒号:

然后在缩进中编写函数体,返回值用return语句返回

计算字符串中某字符个数

def countsubstring(s,ch):         #s和ch为形参
c=0
i=0
while i<len(s):
if s[i]==ch:
c +=1
i +=1
print(c)
str='wujiadongjiangruisuirsuiuigjsjsiuisldjsjeuiui'
m=‘i’
countsubstring(s,m) #调用函数传入的参数str和m为实参

image.png

计算子串sub个数

 def countsubstring(s,sub):
c=0
i=0
while i<=len(s)-len(sub):
if s[i:i+len(sub)]==sub:
c +=1
# print(s[i:i+len(sub)])
i +=1
print(c)
str='wujiadongjiangruisuirsuiuigjsjsiuisldjsjeuiui'

countsubstring(str,'ui')

image.png

def myfind(s,sub):
i=0
while i<=len(s)-len(sub):
if s[i:i+len(sub)]==sub:
print(i)
break
i +=1
else:
print('-1')

str='wujiadong'
sub='on'
myfind(str,sub)

image.png

找最大值

 li=[111,2,3,7,9,76,98,23,45]
def myfindmax(M):
i=0
max=li[0]
while i<len(li):
if max<li[i]:
max=li[i]

i +=1
print(max)
myfindmax(li)

image.png

找第二大值

#这种情况两个最大都相等时是错误的
li=[111,222,333,7,9,765,98,23,45]
def max2(t):
max1=t[0]
max2=t[0]
for x in t:
if x >max1:
max2=max1
max1=x
else:
if x >max2: #这里添加上条件x!=max1 就可避免
max2=x
print('max1',max1)
print('max2',max2)
max2(li)

image.png

删除某个值

 #有bug,有重复的值不能删除

li=[1,2,3,4,5,6,7,8,9]
def delvalue(t):
global li #没懂为什么一定要加这个
i=0
while i<len(li):
if li[i]==t:
left=li[:i]
print(left)
right=li[i+1:]
# print(i)
li=left+right
i +=1

delvalue(6)

image.png

删除所有的值

推荐 0
本文由 邬家栋 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册