1、简述普通参数、指定参数、默认参数、动态参数的区别
1)普通参数中,有形参和实参,其中形参是定义函数时写的参数,实参是调用函数时传给函数的参数;
2)默认参数是在定义函数时,参数设定一个默认值;
3)指定参数是在调用有默认参数的函数时,指定了有默认值的参数;
4)动态参数是定义函数中参数是地址,调用此类函数时,可以传地址也可以传数据; 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def str_count(s):
i = 0
num_count = 0
alpha_count = 0
space_count = 0
else_count = 0
print s
while i < length:
if s[i].isdigit() :
num_count += 1
elif s[i].isalpha():
alpha_count += 1
elif s[i].isspace():
space_count += 1
else:
else_count += 1
i += 1
print "数字的个数为:", num_count
print "字母的个数为:", alpha_count
print "空格的个数为:", space_count
print "其他的个数为:", else_count
st = raw_input()
length = len(st)
str_count(st)
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
#方法一:判断传入对象的总长度(包括格式所占的长度)
def object_length(s):
if s[0] == "(" and s[-1] == ")":
print "传入的是元组,", s
elif s[0] == "[" and s[-1] == "]":
print "传入的是列表,", s
elif s[0] == "{" and s[-1] == "}":
print "传入的是字典,", s print "长度是:", len(s)
if len(s) > 5:
print "长度超过5"
else:
print "长度没有超过5" n = raw_input("请输入需要判断长度的对象:")
#object_length(n) #方法二:判断传入对象的总长度(不包括格式所占的长度)
def element_length(s):
if s[0] == "(" and s[-1] == ")":
print "传入的是元组~"
elif s[0] == "[" and s[-1] == "]":
print "传入的是列表~"
elif s[0] == "{" and s[-1] == "}":
print "传入的是字典~"
else:
print "传入的是字符串~"
e_length = 0
for k, v in enumerate(s, 1):
# 判断是否是列表、元组、字典中格式
if v == "," or v == "(" or v == ")" or v == '''"''' or v == "'" or v == "[" or v == "]" or v == ":" or v == "{" or v == "}":
continue
else:
# print v,
e_length += 1
print s
print "元素的总长度是:", e_length n = raw_input("请输入需要判断长度的对象:")
element_length(n)
4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
def object_space(s):
if s[0] == "(" and s[-1] == ")":
print "传入的是元组~", s
elif s[0] == "[" and s[-1] == "]":
print "传入的是列表~", s
else:
print "传入的是字符串~", s
e_sapce = 0
for k, v in enumerate(s, 1):
# 判断是否是列表、元组、字典中格式
if v == " ":
e_sapce += 1
else:
continue
print "元素是否含有空内容的个数:", e_sapce
n = raw_input("请输入对象:")
object_space(n)
#12 a3 "3 3" (1 ,"a b",d) [a ,b," 3"] {'k 1': 1,'k2': 3} [(1, 2),{'k 3':3,'k4': 4}, e]
5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def li_list(li):
length = 0
new_li = []
print li
for i in li:
length += 1
if length > 2:
new_li = li[0:2]
print new_li
#print length
return new_li
lis = [12,"afd@3$#","d3",4]
li_list(lis)
6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def odd_element(li):
print li
new_li = []
i = 0
for i in range(1, len(li)):
if i % 2 != 0:
#print li[i],
new_li.append(li[i])
i += 1
return new_li old_li = ["0a", 1, "2b", 3, "4c", 5, 6, "7d"]
old_tup = ("0a", 1, "2b", 3, "4c", 5, 6, "7d")
print odd_element(old_li)
print odd_element(old_tup)
7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def dict_element(dic):
print dic
new_dic = {}
for item in dic:
#print item,dic[item]
if len(dic[item]) > 2:
new_dic[item] = dic[item][0:2]
else:
new_dic[item] = dic[item]
return new_dic dic = {"k1": "v1v1", "k2": [11,22,33,44]}
print dict_element(dic)
8、写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def func(n):
if n == 1 or n == 2:
return 1;
#func(n) = func(n - 1) + func(n - 2)
return (func(n-1)+func(n-2))
print func(10)
												

Python练习五-函数的更多相关文章

  1. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  2. Python进阶(五)----内置函数Ⅱ 和 闭包

    Python进阶(五)----内置函数Ⅱ 和 闭包 一丶内置函数Ⅱ ####内置函数#### 特别重要,反复练习 ###print() 打印输入 #sep 设定分隔符 # end 默认是换行可以打印到 ...

  3. 流畅的python第五章一等函数学习记录

    在python中,函数是一等对象,一等对象是满足以下条件的程序实体 1在运行时创建 2能复制给变量或数据结构的元素 3能作为参数传给函数 4能作为函数的返回结果 高阶函数(接受函数作为参数或者把函数作 ...

  4. python中的函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  5. Python变量/运算符/函数/模块/string

    Python笔记(一) 1.变量类型 Python 有五个内置的简单类型:bool.int.long.float 和 complex.这些类型是不可变的,就是说整数对象一旦创建,其类型便不可更改. t ...

  6. Python基础:函数

    一.概述 二.声明.定义和调用 三.参数 1.参数传递 2.实参类型 3.形参绑定 四.返回值 五.名字空间与作用域 1.基本概念 2.名字空间 3.作用域 4.总原则 六.高级 1.装饰器 2.生成 ...

  7. Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  8. Python(五)编程小实例

    Python(五)编程小实例 抓取网页信息,并生成txt文件内容! Python抓取网页技能--Python抓取网页就是我们常看见的网络爬虫,我们今天所要用到的就是我们Python中自带的模块,用这些 ...

  9. python 第五弹

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

随机推荐

  1. 从AppleWatch4发布后对手股价大跌看可穿戴市场未来

    万众瞩目的苹果秋季发布会终于落下了帷幕,这场发布会既有惊喜,也有遗憾.遗憾的是新款iPad Pro.廉价版Macbook air没有亮相.iPhone系列价格较贵等,惊喜的则是iPhone的处理器依然 ...

  2. [CQOI2016]K远点对(KD-Tree)

    暴力的做法应该是这样的,维护大小为k的堆,每次插入两点间距离并弹出堆顶. 然后这个做法显然是可以KD-Tree优化的,建立KD-Tree,然后如果该平面内最远点小于堆顶,则直接退出.就当做是复习很久没 ...

  3. winform操作windows系统计算器

    winform对系统计算器的调用,启动,最大化最小化显示,在mainwindow设置topmost=true时,正常显示计算器并置顶. /// <summary> /// 获取窗体的句柄函 ...

  4. POJ-1733 Parity game(带权并查集区间合并)

    http://poj.org/problem?id=1733 题目描述 你和你的朋友玩一个游戏.你的朋友写下来一连串的0或者1.你选择一个连续的子序列然后问他,这个子序列包含1的个数是奇数还是偶数.你 ...

  5. 88.QuerySet API使用详解:get_or_create和bulk_create方法

    get_or_create 根据某个条件进行查找,如果找到了匹配的数据就会返回这条数据,如果没有找到匹配到的数据,就会创建一个.示例代码如下: from django.http import Http ...

  6. LeetCode——714. 买卖股票的最佳时机含手续费.

    给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :非负整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每次交易都需要付手续费.如果你已经购买了一个 ...

  7. java学习——内部类(一)

    内部类 把一个类放在另一个类中定义,这个定义在其他内部的类被称为内部类,包含内部类 的类被成为外部类,Java从JDK1.1开始引入了内部类的定义. 内部类的作用: 内部类提供了更好的封装,可以把内部 ...

  8. 01 语言基础+高级:1-6 集合_day04【Map】

    day04 [Map] 主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用”键找值”的方式遍历Map集合 使用”键值对”的方式遍历Map集合 能够使用Hash ...

  9. Idea创建Spring项目

    环境 win7 + Idea2018 Classpath commons-logging-1.2 + spring-framework-4.1.6.RELEASE Step1 创建工程 File -& ...

  10. 项目在eclipse中正常,在idea中报错

    一直用的eclipse,但公司很多员工用的都是idea,便想试试,谁知导入maven项目后一直报错,最后发现编译后target中没有dao中的xml文件,导致监听器加载资源时一直报错, 最后经过反复查 ...