函数基础
定义函数使用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为实参
计算子串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')
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)
找最大值
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)
找第二大值
#这种情况两个最大都相等时是错误的
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)
删除某个值
#有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)
删除所有的值