Python之函数练习题
一、简述普通参数、指定参数、默认参数、动态参数的区别
普通参数:就是放入一个形参,当放入实参时,需要按照顺序给形参值。
指定参数:放入实参时是指定的,不用按照顺序给形参,都能让形参获得相应的参数。
默认参数:在形参内指定一个参数,需要放在形参的最后面。当实参没有给值时,就默认是形参的值。
动态参数:格式:*args 和 **kwargs 前面一个保存为元组,后面一个保存为字典。
二、写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数
#!/bin/bash/env python
# -*- coding:utf-8 -*-
#function:写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数 def func1(p):
digit_number = 0
space_number = 0
alpha_number = 0
else_number = 0
for i in p:
if i.isdigit(): #检查字符串是否只由数字组成
digit_number += 1
elif i.isspace(): #检查字符串是否只由空格组成
space_number += 1
elif i.isalpha(): #检查字符串是否只由字母组成
alpha_number += 1
else:
else_number += 1
return (digit_number,space_number,alpha_number,else_number) r = func1("qwer 123")
print(r) 结果:
(3, 2, 4, 0)
三、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
#!/bin/bash/env python
# -*- coding:utf-8 -*-
#function:写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数 def func1(p):
i1 = len(p)
print(i1)
if i1 > 5:
print('Yes,the length higher than 5')
else:
print('NO')
r = func1((11,22,33)) 结果:
3
NO
四、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容
#!/bin/bash/env python
# -*- coding:utf-8 -*-
#function:写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容 def func1(p,q,i):
if p == "":
print('字符串有')
if q == []:
print('列表有')
if i == ():
print("元组有")
r = func1("123",[11,22],()) 结果:
元组有
五、写函数,检查传入列表的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回给调用者
#!/bin/bash/env python
# -*- coding:utf-8 -*-
#function:写函数,检查传入列表的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回给调用者 def func1(p):
i1 = len(p)
if i1 > 2:
i2 = p[0:2]
return i2 r = func1([11,22,33,44,55])
print(r) 结果:
[11, 22]
六、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
#!/bin/bash/env python
# -*- coding:utf-8 -*-
#function:写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者 def func1(p,q):
result = []
for i1 in range(len(p)):
if i1 % 2 == 1:
result.append(p[i1])
for i2 in range(len(q)):
if i2 % 2 == 1:
result.append(p[i2])
print(result)
r = func1([11,22,33],(11,22,33)) 结果:
[22,22]
七、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回给调用者
dic = {“k1”: "v1v1","k2":[11,22,33}}
ps:字典中的value只能是字符串或列表
#!/bin/bash/env python
# -*- coding:utf-8 -*-
#function:检查传入字典的每一个value的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回给调用者 def func1(**p):
for key,value in p.items(): if len(value) > 2:
p[key] = value[0:2]
return p
r = func1(k1="v1v1",k2=[11,22,33,44,55])
print(r) 结果:
{'k1': 'v1', 'k2': [11, 22]}
Python之函数练习题的更多相关文章
- Python之基础练习题
Python之基础练习题 1.执行 Python 脚本的两种方式 2.简述位.字节的关系 解:8位是一个字节 3.简述 ascii.unicode.utf-8.gbk 的关系 4.请写出 “李杰” 分 ...
- Python:程序练习题(二)
Python:程序练习题(二) 2.1温度转换程序. 代码如下: t=input("请输入带符号的温度值(如:32C):") if t[-1] in ["C", ...
- python的函数
函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...
- python strip()函数 介绍
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除 ...
- python split()函数
Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...
- Python数学函数
1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- Python之函数与变量
本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...
- Python基础-函数篇
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数与函数式编程 1.面向对象: 华山派-- ...
随机推荐
- 第十章 Executor框架
在Java中,使用线程来异步执行任务.Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源.同时,为每一个任务创建一个新线程来执行 ...
- ORA-00904: 标识符无效——解决方案
转自:https://blog.csdn.net/jajavaja/article/details/49122639 建表时列名用双引号引着(用Navicat工具建表默认是加上双引号的),java连接 ...
- docker 笔记 (5)常用命令
images 显示镜像列表 history 显示镜像构建历史 commit 从容器创建新镜像 build 从 Dockerfile 构建镜像 tag 给镜像打 ta ...
- 部署和调优 2.8 mysql主从配置-2
配置主从准备工作 在主上创建一个测试的数据库 首先登录主的mysql,或者用绝对路径 /usr/local/mysql/bin/mysql mysql > create database db1 ...
- C语言学习笔记--内存分区
1. 程序中的栈 1.1 栈的简介 (1)栈中现代计算机程序里最为重要的概念之一 (2)栈在程序中用于维护函数调用上下文 (3)函数中的参数和局部变量存储在栈上 (4)栈保存了一个函数调用所需的维护信 ...
- 关于stickybroadcast
stickybroadcast顾名思义,粘性广播,从字面上我们可以联想到service的返回值中也有个一stick,在service中stick作用是当返回了之后服务被杀死,会重启服务. 但是这里的s ...
- JVM的内存管理、对象的生命周期、内存泄漏
1 JVM内存 分为“堆”.“栈”和“方法区”三个区域,分别用于存储不同的数据 1.1 堆 JVM在其内存空间开辟一个称为”堆”的存储空间,这部分空间用于存储使用new关键字所创建的对象. 1.2 栈 ...
- 初识Servlet(JSP)
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. Servle ...
- SDUT 2129 树结构练习——判断给定森林中有多少棵树
树结构练习——判断给定森林中有多少棵树 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 众 ...
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descript ...