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.面向对象: 华山派-- ...
随机推荐
- 侯捷STL学习(十)--容器hashtable探索(unordered set/map)
layout: post title: 侯捷STL学习(十) date: 2017-07-23 tag: 侯捷STL --- 第二十三节 容器hashtable探索 hashtable冲突(碰撞)处理 ...
- opencv相关
http://opencv.org/ ================== 不错的博客: 图像处理(小魏的修行路):http://blog.csdn.net/xiaowei_cqu/article/c ...
- sql中IN的用法
1.和where配合使用 IN操作符允许我们在where的子句中规定多个值 SELECT * FROM Persons WHERE LastName IN ('Adams','Carter') 这句 ...
- 根据/proc/meminfo对空闲内存进行占用
#include <stdio.h> #include <sys/sysinfo.h> #include <linux/kernel.h> /* 包含sysinfo ...
- JVM实用参数(二)参数分类和即时(JIT)编译器诊断
JVM实用参数(二)参数分类和即时(JIT)编译器诊断 作者: PATRICK PESCHLOW 原文地址 译者:赵峰 校对:许巧辉 在这个系列的第二部分,我来介绍一下HotSpot J ...
- phonegap创建项目
cordova create LynApp com.LynApp "LynApp"cd LynAppcordova platform add androidcordova buil ...
- [luogu3379]最近公共祖先(树上倍增求LCA)
题意:求最近公共祖先. 解题关键:三种方法,1.st表 2.倍增法 3.tarjan 此次使用倍增模板(最好采用第一种,第二种纯粹是习惯) #include<cstdio> #includ ...
- IDEA java 代码格式化统一
Intellij idea 安装格式化插件 ECLIPSE CODE FORMATTER:1,安装插件:网络安装:选择Setting =>Plugins=>Browse repositor ...
- Windows系统 安装 CMake
Windows系统 安装 CMake 我们的电脑系统:Windows 10 64位 安装的CMake 版本:cmake-3.6.1-win64-x64(目前最新) 下载 在CMake官网下载:cmak ...
- HiveServer2的配置使用
HiveServer2的配置和使用 hive-site.xml配置 hiveserver2的配置 <property> <name>hive.support.concurren ...