python继续函数-练习(2017-8-3)
写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def detection(p):
intcount = 0
strcount = 0
othercount = 0
spacecount=0
for i in p:
if i.isalpha():
strcount+=1
elif i.isdigit():
intcount+=1
elif i.isspace():
spacecount+=1
else :
othercount+=1
return{"数字":intcount,"字母":strcount,"空格":spacecount,"其它":othercount}
a=input("Please enter a string")
zz=detection(a)
print(zz)
写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
1、
def detection(p):
b=0
a="q"
if type(p)==type(a):
for i in p:
b+=1
else:
for i in p:
for k in i:
b+=1
if b>5:
a="长度大于5"
return a
else :
a = "长度不大于5"
return a a=["qwe",""]
qq=detection(a)
print(qq)
2、
def detection(p):
if len(p)>5:
return True
return False a=["qwe","","","","",""]
qq=detection(a)
# print(len(a))
print(qq)
写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
1、
def detection(p):
b=0
a="q"
if type(p)==type(a):
for i in p:
if i.isspace():
return True else:
for i in p:
for k in i:
if k.isspace():
return True
return False a=["qwe",""]
qq=detection(a)
print(qq)
写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
1、
def detection(p):
if len(p)>2:
p=p[0:2]
return p a=["qwe","","","","",""]
qq=detection(a)
# print(len(a))
print(qq)
2、
def detection(p):
if len(p)>2:
del p[2:] #删除2以后的元素
return p dic=[11,22,33,44]
qq=detection(dic)
# print(len(a))
print(qq)
写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def detection(p):
a=[]
for k,i in enumerate(p):
if k%2!=0:
a.append(i)
return a a=("qwe","","","","","")
qq=detection(a)
print(qq)
---------------一种错误写法-----------------------------------
def f1(arg)
for i in range(len(rag)):
if i%2==1
pass
else:
del arg[i]#这种循环再次遇到len(arg)时他的长度改变所以再次删除时就会
#根据新的排序删除,就会出错,所以想要使用len(arg)这个方式
#可以新建一个列表,在if后进行添加:arg.append(arg[i])就可以
#最后在函数结尾添加一个返回值
li=[11,22,33,44]
f1(li)
print(li)
写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
1、
def detection(p):
for i in p.keys():
if len(p[i])>2:
p[i]=p[i][0:2]
return p dic = {"k1": "v1v1", "k2": [11,22,33,44]}
qq=detection(dic)
# print(len(a))
print(qq)
2、 #创建新的变量
def f2(arg):
ret={}
for key,values in arg.items():#items类似于 enumerate
if len(values)>2:
ret[key]=values[0:2]
else:
ret[key]=values
return ret a={"qwe":"","qqq":"","ppp":""}
r=f2(a)
print(r)
3、#对原来的变量进行改变
def f2(arg):
for key,values in arg.items():
if len(values)>2:
arg[key]=values[0:2]
else:
arg[key]=values a={"qwe":"","qqq":"","ppp":""}
f2(a)
print(a)
写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者
这个练习结果在http://www.cnblogs.com/liudi2017/articles/7383998.html
总结
print()#输出变量
name="babab"
age=10
job="stu" #多个变量引用
print("my name is %s,my job is %s,age id %d"%(name,job,age))
#单个变量引用
print("you %s zzz"%name)
判断一个数据的类型
temp="aaa"
isinstance(temp,str) #str为数据类型,temp为变量
在python中列表、字典、set类型数据的在传给函数传参数时,传的是引用(地址?,就像在C语言里数组给函数传参数时,传的是地址),
所以在函数中形参的改变会造成实参的改变。如果函数中形参指向另一个变量这这个形参就改指向另一个变量的地址,再对形参进行改变时,不会影响实参,因为它不再指向实参
def aa(p):
p=p.pop() z={11,22,33}
aa(z)
print(z)
结果:{11, 22}
def aa(p):
p.append(123)
z=[11,22,33]
aa(z)
print(z)
结果:[11, 22, 33, 123]
def aa(p):
p={22,11,22}#这个情况下,在函数中p的地址有重新指向 #{22,11,22},所以在下面输出时没有改变
z={11,22,33} #个人认为 是对的
aa(z)
print(z)
#结果:{33, 11, 22}
别的语言可能有两种选择,但是python默认就一种,就是传引用的参数
特别添加
range
>>>range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
以下是 range 在 for 中的使用,循环出runoob 的每个字母:
>>>x = 'runoob'
>>> for i in range(len(x)) :
... print(x[i])
...
r
u
n
o
o
b
>>>
循环输出索引
x = 'runoob'
for i in range(len(x)) :
print(i) 0
1
2
3
4
5
a[11,22,33]
b=a[0:2]
#这里的b所指的切片在内存里是重新创建的,所以a指向的单单是新建的地址
python继续函数-练习(2017-8-3)的更多相关文章
- Python和SQL Server 2017的强大功能
Python和SQL Server 2017的强大功能 摘要: 源:https://www.red-gate.com/simple-talk/sql/sql-development/power-pyt ...
- yum安装的时候报错,关于python的函数库
我在执行yum -y install nc命令的时候出现如下报错 There was a problem importing one of the Python modulesrequired to ...
- 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.面向对象: 华山派-- ...
- 【C++实现python字符串函数库】strip、lstrip、rstrip方法
[C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...
随机推荐
- PDF2SWF简单使用
最近在项目中遇到文档预览的需求,和PM商讨了几种解决方案,最终还是选中了转为SWF的方式.下面就稍微记录一下自己的学习成果. 工具:pdf2swf 下载地址:http://www.swftools.o ...
- ubuntu 火狐浏览器中常规方法安装flashplayer的问题
之前在网上看到很多朋友介绍了许多如何在ubuntu安装flashplayer 的方法!但是我的操作系统不知怎么的就是不能成功的安装!使我十分的苦恼!但是在我纲要邪气的时候再网上又看到一位朋友的解决方案 ...
- 关于git的认识与想法
1.什么是git: Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/. Git是一个 ...
- Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...
- 【洛谷5283】[十二省联考2019] 异或粽子(可持久化Trie树+堆)
点此看题面 大致题意: 求前\(k\)大的区间异或和之和. 可持久化\(Trie\)树 之前做过一些可持久化\(Trie\)树题,结果说到底还是主席树. 终于,碰到一道真·可持久化\(Trie\)树的 ...
- 如何写一个FMDB帮助类?看看runtime吧
FMDB是一个封装很好的sqllite类库.项目中调用的时候只需要写SQL语句,就能实现数据的CURD.我试过即使手写SQL语句也很麻烦,需要一个字段一个字段的拼上去,而且容易出错.有没有动态获取字段 ...
- 整个ssd的网络和multibox_loss_layer
总结说来prior_box层只完成了一个提取anchor的过程,其他与gt的match,筛选正负样本比例都是在multibox_loss_layer完成的 http://www.360doc.com/ ...
- Mybatis自动生成的BO对象继承公共父类(BO中过滤掉公共属性)
使用mybatis的代码生成工具:mybatis-generator,如果自动生成的BO都有公共的属性,则可以指定这些BO继承父类(父类中定义公共属性) 1.定义父类 注意:属性public,不要使用 ...
- vue项目模拟后台数据
这次我们来模拟一些后台数据,然后去请求它并且将其渲染到界面上.关于项目的搭建鄙人斗胆向大家推荐我的一篇随笔<Vue开发环境搭建及热更新> 一.数据建立 我这里为了演示这个过程所以自己编写了 ...
- Python常用模块之json、pickle、random、hashlib、collections
1.json和pickle json用于字符串和Python数据类型间进行转换pickle用于python特有的类型和python的数据类型间进行转换json和pickle均提供了四种方法dumps, ...