列举5个python内置函数和使用方法_Python基础-----函数、内置函数、递归等练习

 2023-09-09 阅读 13 评论 0

摘要:!/usr/bin/env python-*- coding:utf-8 -*-##############################################################################1、列举布尔值为False的值0 False '' [] () {} None##############################################################################2、

!/usr/bin/env python

-*- coding:utf-8 -*-

##############################################################################

1、列举布尔值为False的值

0 False '' [] () {} None

##############################################################################

2、根据范围获取其中3和7整除的所有数的和,并返回调用者;

符合条件的数字个数以及符合条件数字的总和

def func(start_num,stop_number):

res = []

for i in range(start_num,stop_number):

if i % 3 ==0 and i % 7 == 0:

res.append(i)

return res,sum(res),len(res)

test = func(1,25)

print(type(test))

##############################################################################

3、函数的默认返回值是 None

##############################################################################

4、 break:结束当前整个循环

continue:结束本次循环进入下一次循环

return:结束函数,并返回结果,默认为None

##############################################################################

5、使用set集合获取两个列表l1 = [11,22,33],l2 = [22,33,44]中的相同元素

l1 = [11,22,33]

l2 = [22,33,44]

set1 = set(l1)

set2 = set(l2)

same = set1 & set2

print(same)

##############################################################################

6、定义函数统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返回给调用者

def func(st):

dic = {}

count_num = 0

count_cap = 0

count_low = 0

for i in st:

if i.isdigit():

count_num += 1

elif i.isupper():

count_cap += 1

elif i.islower():

count_low += 1

dic['数字'] = count_num

dic['大写字母'] = count_cap

dic['小写字母'] = count_low

return dic

test_str = func('ASD-+xcf123')

print(test_str)

##############################################################################

7、函数的位置参数、关键字参数、默认参数、可变长参数

位置参数:按形参的位置传入较位置参数,即普通参数

关键字参数:传入实参时指定形参的值

默认参数:形参直接指定默认值得参数

可变长参数:*args **kwargs,前者只能接收没有位置参数的实参或传入的列表、元组,

后者可以接收关键字参数,和字典格式

##############################################################################

8、字符串“你好”转为以 utf-8 编码形式转换为字节

方法1

s = '你好'

b_s1 = bytes(s,'utf-8')

print(b_s1)

# 方法2

s = '你好'

b_s2 = s.encode('utf-8')

print(b_s2)

##############################################################################

9、利用内置函数zip(),实现如下功能:

l1 = ['alex',11,22,33]

l2 = ['is',11,22,33]

l3 = ['good',11,22,33]

l4 = ['boy',11,22,33]

请获取字符串s = 'alex_is_good_boy'

print('_'.join(list(zip(l1,l2,l3,l4))[0]))

##############################################################################

9、利用递归实现 1*2*3*4*5*6*7 = 5040

方法1:

def func(x,y=1):

if x == 1:

return y

y *= x

return func(x-1,y)

f = func(7)

print(f)

方法2:

def func1(x):

if x == 1:

return 1

return x * func1(x-1)

f1 = func1(7)

print(f1)

方法3

from functools import reduce

res = reduce(lambda x,y:y*x,range(1,8))

print(res)

##############################################################################

10、利用with实现同时打开两个文件(一读,一写,并将读取的内突写入到写入模式的文件中)

with open('a','r') as f1,open('b','w') as f2:

f2.write(f1.read())

##############################################################################

11、有如下两个列表,第一个列表中的数字无序不重复排列,第二个为空列表

需求:

取出列表1的最小值放到列表2的首个位置

取出列表1的最小值(仅大于上次一的最小值)放到列表2的首个位置

取出列表1的最小值(仅大于上次一的最小值)放到列表2的首个位置...

以此类推,从而获取一个有序的列表2,并将其返回给函数调用者

l1 = [2,1,6,4,9,0,22,5]

l2 = []

def sort_l(x,y):

for i in range(len(x)):

min_num = min(x)

x.remove(min_num)

y.insert(0,min_num)

return y

s_l = sort_l(l1,l2)

print(l2)

##############################################################################

12、猴子吃桃:猴子第一天摘下若干个桃子,当即吃了一半,不过瘾就多吃了一个。第二天又将剩下

的桃子吃了一半,不过瘾多吃了一个。以后每天都吃前一天剩下的一般再加一个。到第10天刚好剩下

一个。问猴子第一天摘了多少个桃子?

def f(x,day):

day -= 1

if day == 0:

return x

x = (x+1) * 2

return f(x,day)

res = f(1,10)

print(res)

##############################################################################

13、 a.利用filter函数、自定义函数获取l1中元素大于33的所有元素,l1 = [11,22,33,44,55]

l1 = [11,22,33,44,55]

def f(x):

return x > 33

new_list = list(filter(f,l1))

print(new_list)

# 利用匿名函数

new_list = list(filter(lambda x:x>33,l1))

print(new_list)

b. 利用map、自定义函数将所有是奇数的元素加 100

l1 = [11,22,33,44,55]

def f(x):

if x % 2:

return x+100

else:

return x

new_list = list(map(f,l1))

print(new_list)

利用匿名函数(和三元表达式)

new_list = list(map(lambda x:(x+100 if x % 2 else x),l1))

print(new_list)

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/29798.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息