1.写函数,根据范围获取其中3和7整除的所有的数字,并返回调用者,符合条件的个数以及这些数的和
def func(start,end): a=0 sum=0 for i in range(start,end+1): if i%3==0 and i%7==0: a+=1 sum+=i else: pass return a,sum print(func(4,65))
2.break:结束整个循环
continue:结束本次循环,开始下次循环
return:获得返回值,结束函数
3.寻找两个集合的交集
set1={11,22,33}
set2={22,33,44}
set_test=set1 & set2
print(set_test)
4.统计字符串中大写,小写,数字的个数
ask=input("qingshuchu:") da=0 xiao=0 shu=0 for i in ask: if i.islower(): xiao+=1 elif i.isupper(): da+=1 elif i.isdigit(): shu+=1 else: pass print(da,xiao,shu)
5.输出结果
def func(*y,**z): print(y,z) func(*[1,2,3,4,5]) #(1, 2, 3, 4, 5) {} func([1,2,3,4,5]) #([1, 2, 3, 4, 5],) {}
6.
l1=["alex",22,33,44]
l2=["is",22,33,44]
l3=["good",22,33,44]
l4=["boy",22,33,44] 从这四个列表生成alex_is_good_boy
l1=["alex",22,33,44] l2=["is",22,33,44] l3=["good",22,33,44] l4=["boy",22,33,44] a=((zip(l1,l2,l3,l4))) b=list(a) c=b[0] print(c) print("_".join(c))
注意:join是将一个可迭代对象(列表,元组)变成一个字符串!
7.判断输出结果
namelist=["alex","eric"] def func(): namelist.append(123) func() print(namelist)
#输出结果:['alex', 'eric', 123]
8.利用递归实现1*2*3*4*5*6*7=5040
(1)for循环
def func(): i=1 sum=1 for i in range(1,8): sum=sum*i i+=1 else: pass return sum print(func())
(2)递归
def f(n): if n==1: return 1 return n*f(n-1) print(f(7)) #这是思路最清晰的方式
def f(x,y=1): ji=x*y if x==1: return ji x-=1 return f(x,ji) print(f(7))
👇👇👇👇👇👇这个不懂啊 仔细看这个知识点,利用reduce函数写
from functools import reduce print(reduce(lambda x,y:(x*y),[x for x in range(1,8)]))
9.打开文件的时候,利用with打开,可以不用关闭
###写代码,利用with实现同时打开两个文件(一读一写,并将读取的内容写入到写入模式的文件中)
with open("a","r")as x,open("y","w")as yxz: yxz.write(x.read())
10.猴子吃桃 :猴子摘了桃子,每天吃一半多加一个,第10天刚好只剩下1个,问第一天摘了几个桃子?
方法:for循环 很蠢
def f9(): x=1 for i in range(1,10): x=(x+1)*2 return x print(f9())
方法2:递归,也挺蠢的,掌握以下思路即可
def func(x,day): day-=1 if day==1: return x x=(x+1)*2 return func(x,day) print(func(1,11))